When enabled, verifies the user has access to the document before creating comment annotations.
This ensures annotations respect document access permissions configured via Access Control or Permission Provider.Default: false
Comment content in plain text string. To tag users, wrap their userId in double curly braces like {{userId}}. The frontend will replace this with the user’s name.
Comment content in HTML string. To tag users, wrap their userId in double curly braces like {{userId}}. The frontend will replace this with the user’s name.
Use this for self-hosting comments data. Set this as true if this comment will have text content. Sometimes, comments might only have attachments and in that case, set this as false.
Turns this comment into a live progress row while progress.state is active. Absence leaves the comment unaffected. See CommentProgress for the full shape. steps is capped at 100 entries.
Customer-defined action chips rendered on this comment row. Overrides the annotation-level actions default for this row. Capped at 20 entries. See CommentAction for the full shape.
When enabled, adding comments via the REST API will trigger in-app notifications, email notifications to relevant users and also trigger webhooks matching the SDK’s native notification behavior. Default: false.
Array of tagged user contacts. Use this field to provide information about users tagged in the comment. Each userId wrapped in {{userId}} in commentText or commentHtml should have a corresponding entry here so the frontend can replace it with the user’s name.
Marks this comment as agent-authored (an agent finding or an agent reply). V2 only. When set, the server stamps sourceType: "agent" on the comment. When set on the root comment (commentData[0]), the server also generates the annotation-level agent block and stamps sourceType: "agent" on the annotation. Discriminated on agentSource.
Agent ID. Must be non-empty for both sources. When agentSource is velt, it is a built-in agent like spell-check or a custom agent ID that is verified server-side (unknown IDs return NOT_FOUND). When agentSource is external, it is your own identifier — opaque and never validated against any registry.
Display name for the agent. Required when agentSource is external (the only source of truth for an external agent’s name). Not used for velt agents (their name is resolved server-side).
Annotation kind. Must be one of: comment or suggestion. This is the source of truth for the suggestion classification; agent-produced findings should set suggestion. Defaults to comment when omitted.
Proposed-change payload for type: "suggestion" annotations. Persisted verbatim so reviewers (and your app’s accept handler) can round-trip the target and the old/new values. Ignored when type is not suggestion. See Suggestions for the full frontend lifecycle.The schema is open: any additional custom fields you include are stored as-is alongside the fields below. status is server-owned: any caller-supplied value is dropped and the server stamps pending at create time (and accepted / rejected on the corresponding lifecycle action).
Stable ID of the thing being changed (for example, the record or field ID the suggestion applies to). Your accept handler uses this to locate what to update.
Caller-driven comment classification. Must be one of: manual or chart. Defaults to manual when omitted.
The legacy value commentType: "suggestion" is still accepted and preserved for backward compatibility, but it no longer drives the suggestion classification. Use the annotation-level type: "suggestion" field instead.
Per-row default action chips, inherited by every comment on the annotation that doesn’t set its own commentData[].actions. Capped at 20 entries. See CommentAction for the full shape.
{ "data": { "organizationId": "acme-corp", "documentId": "design-mockup-v2", "commentAnnotations": [ { "commentData": [ { "triggerNotification": true, "commentText": "Hey {{user_sarah_chen}}, can you review this color scheme? I think we should use a darker shade for better contrast.", "commentHtml": "<p>Hey {{user_sarah_chen}}, can you review this color scheme? I think we should use a darker shade for better contrast.</p>", "from": { "userId": "user_john_smith", "name": "John Smith", "email": "john.smith@acme-corp.com" }, "taggedUserContacts": [ { "userId": "user_sarah_chen", "contact": { "userId": "user_sarah_chen", "name": "Sarah Chen", "email": "sarah.chen@acme-corp.com" } } ] } ] } ] }}
In this example, {{user_sarah_chen}} in the commentText will be replaced with “Sarah Chen” on the frontend, displaying as “Hey Sarah Chen, can you review this color scheme? I think we should use a darker shade for better contrast.”
When verifyUserPermissions is enabled, the API verifies the user has access to the document before creating the comment annotation. If verification fails, the request will be rejected.
Add a content-less progress comment with action chips
Create a comment with no text and progress.state: "active" to reserve a spot for a running task. Push step updates with subsequent Update Comments calls on the same commentId, then finish by writing the real content with state: "completed". actions renders customer-defined chips; Velt performs no write of its own when one is clicked.
Set type: "suggestion" and attach an agent block to the root comment (commentData[0]). The server generates the annotation-level agent block and stamps sourceType: "agent".
To attach a finding from an agent run through your own framework, use agentSource: "external" and supply your own agentName and agentId (executionId is optional):
{ "data": { "organizationId": "acme-corp", "documentId": "design-mockup-v2", "commentAnnotations": [ { "type": "suggestion", "commentData": [ { "commentText": "This button has insufficient color contrast.", "from": { "userId": "a11y-bot" }, "agent": { "agentSource": "external", "agentName": "Accessibility Bot", "agentId": "a11y-bot", "reason": { "title": "Low color contrast", "description": "Contrast ratio is 2.1:1, below the 4.5:1 WCAG AA threshold.", "severity": "high", "findingType": "pin" } } } ] } ] }}
Set type: "suggestion" and attach a suggestion object describing what should change. The server persists the payload verbatim and stamps suggestion.status: "pending"; any caller-supplied status is dropped. Additional custom fields inside suggestion are stored as-is.
Read entry.annotationId from each result, never the map key.The server generates annotationId, and results are written into the map as each write completes, so the map order does not match the order you submitted. For agent annotations, findingId is the reliable way to match a created annotation back to the record it came from.Entries for annotations rejected by permission checks are recorded before an ID exists. When you did not supply an annotationId for one of those, its key falls back to __velt_denied:<index>, where <index> is its position in the commentAnnotations array you sent, and the entry has no annotationId field to read. That key is reserved: annotation IDs cannot contain a colon, so it never collides with one of yours.
When some annotations fail or a user is permission denied, the error carries the same per-annotation map in details. Entries marked "success": true inside detailswere created, so treat a failed request as a partial write and read details instead of assuming nothing was saved.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Velt","colors":{"primary":"#272728","light":"#D5D5D5","dark":"#000000"},"logo":{"light":"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-logo-big-light.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=c75fd62a074f53174a364509b4363fdc","dark":"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-logo-big.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=3b5f452918e68f127b7dcae71c396463","href":"https://docs.velt.dev"},"favicon":"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-favi.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=5ddfb042b3fd320882626c440411bd95","api":{"playground":{"display":"interactive"}},"appearance":{"default":"dark"},"background":{"color":{"dark":"#090014"}},"navbar":{"primary":{"type":"button","label":"Get API Key","href":"https://console.velt.dev/"}},"footer":{"socials":{"twitter":"https://twitter.com/veltjs","linkedin":"https://www.linkedin.com/company/veltjs"}},"search":{"prompt":"Search or ask..."},"seo":{"metatags":{"og:image":"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026token=9e4502da-66ef-4005-9124-dbc76f04b1fd","twitter:image":"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026token=9e4502da-66ef-4005-9124-dbc76f04b1fd","twitter:card":"summary_large_image"},"indexing":"all"},"integrations":{"intercom":{"appId":"fxx14qnk"},"mixpanel":{"projectToken":"6fe5c5cd3adeb341288776482e7bb147"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"velt","hasAudioNarration":false,"actualSubdomain":"velt","customDomains":["velt.dev"],"gitSource":{"type":"github","owner":"velt-js","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeaec9cd4a2465447e7dd9d","collectionId":"c55a8d84-f3bd-4e45-aa44-82e3d31c316c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeaec9cd4a2465447e7dd9d"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeaec9cd4a2465447e7dd9d","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":218},{"language":"default","tag":"REST APIs","count":215},{"language":"default","tag":"v2","count":170},{"language":"default","tag":"Documentation","count":168},{"language":"default","tag":"UI Customization","count":125},{"language":"default","tag":"Comments","count":94},{"language":"default","tag":"Release Notes","count":90},{"language":"default","tag":"Components: Async Collaboration","count":75},{"language":"default","tag":"Async Collaboration","count":62},{"language":"default","tag":"Realtime Collaboration","count":46}],"searchSettings":{"showContentSnippets":true,"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"rakesh@velt.dev","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":""},{"filePath":"style.css","content":"::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}th{text-align:left}.update-container .relative{max-width:525px!important}#table-of-contents-content{overflow-x:clip;height:100%}"},{"filePath":"public/custom.css","content":""}],"page":{"pagePath":"api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations","slug":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations","pageMetadata":{"title":"Add Comment Annotations","description":"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.","api":"POST https://api.velt.dev/v2/commentannotations/add","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,Note,ParamField,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this API to add comment annotations to a document within an organization.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You can add comments on an element, text or page.`}),`\n`,_jsx(_components.li,{children:`You can provide HTML or text content.`}),`\n`,_jsx(_components.li,{children:`Additional filters can be applied using location IDs.`}),`\n`]}),`\n`,_jsx(Heading,{level:`1`,id:`endpoint`,children:`Endpoint`}),`\n`,_jsx(_components.p,{children:_jsx(_components.code,{children:`POST https://api.velt.dev/v2/commentannotations/add`})}),`\n`,_jsx(Heading,{level:`1`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`x-velt-api-key`,type:`string`,required:true,id:`param-x-velt-api-key`,children:_jsx(_components.p,{children:`Your API key.`})}),`\n`,_jsx(ParamField,{header:`x-velt-auth-token`,type:`string`,required:true,id:`param-x-velt-auth-token`,children:_jsxs(_components.p,{children:[`Your `,_jsx(_components.a,{href:`/security/auth-tokens`,children:`Auth Token`}),`.`]})}),`\n`,_jsx(Heading,{level:`1`,id:`body`,children:`Body`}),`\n`,_jsx(Heading,{level:`4`,id:`params`,children:`Params`}),`\n`,_jsx(ParamField,{body:`data`,type:`object`,required:true,id:`param-data`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`organizationId`,type:`string`,required:true,id:`param-organization-id`,children:_jsx(_components.p,{children:`Organization ID`})}),_jsx(ParamField,{body:`documentId`,type:`string`,required:true,id:`param-document-id`,children:_jsx(_components.p,{children:`Document ID`})}),_jsx(ParamField,{body:`createOrganization`,type:`boolean`,id:`param-create-organization`,children:_jsx(_components.p,{children:`If set to true, a new organization will be created (if it doesn’t exist) before the annotation is added.`})}),_jsx(ParamField,{body:`createDocument`,type:`boolean`,id:`param-create-document`,children:_jsx(_components.p,{children:`If set to true, a new document will be created (if it doesn’t exist) before the annotation is added.`})}),_jsxs(ParamField,{body:`verifyUserPermissions`,type:`boolean`,id:`param-verify-user-permissions`,children:[_jsx(_components.p,{children:`When enabled, verifies the user has access to the document before creating comment annotations.\nThis ensures annotations respect document access permissions configured via Access Control or Permission Provider.`}),_jsxs(_components.p,{children:[`Default: `,_jsx(_components.code,{children:`false`})]})]}),_jsx(ParamField,{body:`commentAnnotations`,type:`object[]`,required:true,id:`param-comment-annotations`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`annotationId`,type:`string`,id:`param-annotation-id`,children:_jsx(_components.p,{children:`Custom Annotation ID. If not provided, Velt will generate a unique ID for the annotation.`})}),_jsx(ParamField,{body:`location`,type:`object`,id:`param-location`,children:_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`Location ID`})}),_jsx(ParamField,{body:`locationName`,type:`string`,id:`param-location-name`,children:_jsx(_components.p,{children:`Location Name`})})]})}),_jsxs(ParamField,{body:`targetElement`,type:`object`,id:`param-target-element`,children:[_jsx(_components.p,{children:`Target Element`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`elementId`,type:`string`,id:`param-element-id`,children:_jsxs(_components.p,{children:[`Element DOM Id. When used with `,_jsx(_components.code,{children:`targetText`}),`, defines the text search boundaries for locating text comments within the specified element.`]})}),_jsx(ParamField,{body:`targetText`,type:`string`,id:`param-target-text`,children:_jsx(_components.p,{children:`Target Text. Provide this if you want to add comment annotation on the provided text content.`})}),_jsx(ParamField,{body:`occurrence`,type:`number`,id:`param-occurrence`,children:_jsx(_components.p,{children:`Occurrence. Provide this if you want to add comment annotation on a text content.`})}),_jsx(ParamField,{body:`selectAllContent`,type:`boolean`,id:`param-select-all-content`,children:_jsx(_components.p,{children:`Select All Content. Provide this if you want to select and add comment annotation on the entire text content of the target elementId.`})})]})]}),_jsxs(ParamField,{body:`commentData`,type:`object[]`,required:true,id:`param-comment-data`,children:[_jsx(_components.p,{children:`Array of Comment Data`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`commentId`,type:`number`,id:`param-comment-id`,children:_jsx(_components.p,{children:`Custom Comment ID. If not provided, Velt will generate a unique ID for the comment.`})}),_jsx(ParamField,{body:`commentText`,type:`string`,id:`param-comment-text`,children:_jsxs(_components.p,{children:[`Comment content in plain text string. To tag users, wrap their userId in double curly braces like `,_jsx(_components.code,{children:`{{userId}}`}),`. The frontend will replace this with the user’s name.`]})}),_jsx(ParamField,{body:`commentHtml`,type:`string`,id:`param-comment-html`,children:_jsxs(_components.p,{children:[`Comment content in HTML string. To tag users, wrap their userId in double curly braces like `,_jsx(_components.code,{children:`{{userId}}`}),`. The frontend will replace this with the user’s name.`]})}),_jsx(ParamField,{body:`context`,type:`object`,id:`param-context`,children:_jsx(_components.p,{children:`Custom key/value metadata object. This is used to store any additional information about the comment.`})}),_jsx(ParamField,{body:`isCommentResolverUsed`,type:`boolean`,id:`param-is-comment-resolver-used`,children:_jsx(_components.p,{children:`Use this for self-hosting comments data. Set this as true if you are comments resolver data provider in the SDK.`})}),_jsx(ParamField,{body:`isCommentTextAvailable`,type:`boolean`,id:`param-is-comment-text-available`,children:_jsx(_components.p,{children:`Use this for self-hosting comments data. Set this as true if this comment will have text content. Sometimes, comments might only have attachments and in that case, set this as false.`})}),_jsx(ParamField,{body:`progress`,type:`CommentProgress`,id:`param-progress`,children:_jsxs(_components.p,{children:[`Turns this comment into a live progress row while `,_jsx(_components.code,{children:`progress.state`}),` is `,_jsx(_components.code,{children:`active`}),`. Absence leaves the comment unaffected. See `,_jsx(_components.a,{href:`/api-reference/sdk/models/data-models#commentprogress`,children:`CommentProgress`}),` for the full shape. `,_jsx(_components.code,{children:`steps`}),` is capped at 100 entries.`]})}),_jsx(ParamField,{body:`actions`,type:`CommentAction[]`,id:`param-actions`,children:_jsxs(_components.p,{children:[`Customer-defined action chips rendered on this comment row. Overrides the annotation-level `,_jsx(_components.code,{children:`actions`}),` default for this row. Capped at 20 entries. See `,_jsx(_components.a,{href:`/api-reference/sdk/models/data-models#commentaction`,children:`CommentAction`}),` for the full shape.`]})}),_jsx(ParamField,{body:`triggerNotification`,type:`boolean`,id:`param-trigger-notification`,children:_jsx(_components.p,{children:`When enabled, adding comments via the REST API will trigger in-app notifications, email notifications to relevant users and also trigger webhooks matching the SDK’s native notification behavior. Default: false.`})}),_jsx(ParamField,{body:`triggerActivities`,type:`boolean`,id:`param-trigger-activities`,children:_jsx(_components.p,{children:`When enabled, adding comments via the REST API will create activity log records matching the SDK’s native activity log behavior. Default: false.`})}),_jsx(ParamField,{body:`from`,type:`User`,required:true,id:`param-from`,children:_jsx(_components.p,{children:`User object from whom the comment is added`})}),_jsx(ParamField,{body:`createdAt`,type:`number`,id:`param-created-at`,children:_jsx(_components.p,{children:`Created At timestamp (in milliseconds since epoch).`})}),_jsx(ParamField,{body:`lastUpdated`,type:`number`,id:`param-last-updated`,children:_jsx(_components.p,{children:`Last Updated timestamp (in milliseconds since epoch).`})}),_jsxs(ParamField,{body:`taggedUserContacts`,type:`object[]`,id:`param-tagged-user-contacts`,children:[_jsxs(_components.p,{children:[`Array of tagged user contacts. Use this field to provide information about users tagged in the comment. Each userId wrapped in `,_jsx(_components.code,{children:`{{userId}}`}),` in commentText or commentHtml should have a corresponding entry here so the frontend can replace it with the user’s name.`]}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`userId`,type:`string`,required:true,id:`param-user-id`,children:_jsxs(_components.p,{children:[`User ID of the tagged user. This should match the userId used in `,_jsx(_components.code,{children:`{{userId}}`}),` syntax within commentText or commentHtml.`]})}),_jsxs(ParamField,{body:`contact`,type:`object`,required:true,id:`param-contact`,children:[_jsx(_components.p,{children:`Contact information for the tagged user`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`userId`,type:`string`,required:true,id:`param-user-id-1`,children:_jsx(_components.p,{children:`User ID of the tagged user`})}),_jsx(ParamField,{body:`name`,type:`string`,id:`param-name`,children:_jsx(_components.p,{children:`Name of the tagged user`})}),_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsx(_components.p,{children:`Email of the tagged user`})})]})]})]})]}),_jsxs(ParamField,{body:`agent`,type:`object`,id:`param-agent`,children:[_jsxs(_components.p,{children:[`Marks this comment as agent-authored (an agent finding or an agent reply). V2 only. When set, the server stamps `,_jsx(_components.code,{children:`sourceType: \"agent\"`}),` on the comment. When set on the root comment (`,_jsx(_components.code,{children:`commentData[0]`}),`), the server also generates the annotation-level agent block and stamps `,_jsx(_components.code,{children:`sourceType: \"agent\"`}),` on the annotation. Discriminated on `,_jsx(_components.code,{children:`agentSource`}),`.`]}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`agentSource`,type:`string`,required:true,id:`param-agent-source`,children:_jsxs(_components.p,{children:[`Origin of the agent. Must be one of: `,_jsx(_components.code,{children:`velt`}),` or `,_jsx(_components.code,{children:`external`}),`.`]})}),_jsx(ParamField,{body:`agentId`,type:`string`,required:true,id:`param-agent-id`,children:_jsxs(_components.p,{children:[`Agent ID. Must be non-empty for both sources. When `,_jsx(_components.code,{children:`agentSource`}),` is `,_jsx(_components.code,{children:`velt`}),`, it is a built-in agent like `,_jsx(_components.code,{children:`spell-check`}),` or a custom agent ID that is verified server-side (unknown IDs return `,_jsx(_components.code,{children:`NOT_FOUND`}),`). When `,_jsx(_components.code,{children:`agentSource`}),` is `,_jsx(_components.code,{children:`external`}),`, it is your own identifier — opaque and never validated against any registry.`]})}),_jsx(ParamField,{body:`executionId`,type:`string`,id:`param-execution-id`,children:_jsx(_components.p,{children:`Execution / run ID for this agent invocation.`})}),_jsx(ParamField,{body:`agentName`,type:`string`,id:`param-agent-name`,children:_jsxs(_components.p,{children:[`Display name for the agent. `,_jsxs(_components.strong,{children:[`Required when `,_jsx(_components.code,{children:`agentSource`}),` is `,_jsx(_components.code,{children:`external`})]}),` (the only source of truth for an external agent’s name). Not used for `,_jsx(_components.code,{children:`velt`}),` agents (their name is resolved server-side).`]})}),_jsx(ParamField,{body:`url`,type:`string`,id:`param-url`,children:_jsx(_components.p,{children:`Page URL associated with the finding.`})}),_jsxs(ParamField,{body:`reason`,type:`object`,required:true,id:`param-reason`,children:[_jsx(_components.p,{children:`Finding details produced by the agent. Additional custom fields are preserved.`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`title`,type:`string`,required:true,id:`param-title`,children:_jsx(_components.p,{children:`Short finding title.`})}),_jsx(ParamField,{body:`description`,type:`string`,required:true,id:`param-description`,children:_jsx(_components.p,{children:`Finding description.`})}),_jsx(ParamField,{body:`severity`,type:`string`,required:true,id:`param-severity`,children:_jsxs(_components.p,{children:[`Severity of the finding. Must be one of: `,_jsx(_components.code,{children:`critical`}),`, `,_jsx(_components.code,{children:`high`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`low`}),`, or `,_jsx(_components.code,{children:`info`}),`.`]})}),_jsx(ParamField,{body:`findingId`,type:`string`,id:`param-finding-id`,children:_jsx(_components.p,{children:`Unique identifier for the finding.`})}),_jsx(ParamField,{body:`findingType`,type:`string`,id:`param-finding-type`,children:_jsxs(_components.p,{children:[`Type of finding. Must be one of: `,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`pin`}),`, or `,_jsx(_components.code,{children:`page`}),`.`]})}),_jsx(ParamField,{body:`issueType`,type:`string`,id:`param-issue-type`,children:_jsx(_components.p,{children:`Custom issue classification.`})}),_jsx(ParamField,{body:`confidence`,type:`number`,id:`param-confidence`,children:_jsx(_components.p,{children:`Confidence score for the finding. Integer between 0 and 100.`})}),_jsx(ParamField,{body:`suggestion`,type:`string`,id:`param-suggestion`,children:_jsx(_components.p,{children:`Suggested change in plain text.`})}),_jsx(ParamField,{body:`suggestedFix`,type:`string`,id:`param-suggested-fix`,children:_jsx(_components.p,{children:`Suggested fix for the finding.`})}),_jsx(ParamField,{body:`htmlSnippet`,type:`string`,id:`param-html-snippet`,children:_jsx(_components.p,{children:`Relevant HTML snippet for the finding.`})}),_jsx(ParamField,{body:`htmlSelector`,type:`string`,id:`param-html-selector`,children:_jsx(_components.p,{children:`CSS/HTML selector pointing to the finding location.`})}),_jsx(ParamField,{body:`source`,type:`string`,id:`param-source`,children:_jsxs(_components.p,{children:[`Provenance of the rule that triggered the finding. Must be one of: `,_jsx(_components.code,{children:`instructions`}),` or `,_jsx(_components.code,{children:`knowledge`}),`.`]})}),_jsx(ParamField,{body:`knowledgeSection`,type:`string`,id:`param-knowledge-section`,children:_jsx(_components.p,{children:`Knowledge section that triggered the finding.`})})]})]})]})]})]})]}),_jsxs(ParamField,{body:`status`,type:`Status`,id:`param-status`,children:[_jsx(_components.p,{children:`Status`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`id`,type:`string`,required:true,id:`param-id-1`,children:_jsx(_components.p,{children:`Status ID`})}),_jsx(ParamField,{body:`name`,type:`string`,required:true,id:`param-name-1`,children:_jsx(_components.p,{children:`Status Name`})}),_jsx(ParamField,{body:`type`,type:`string`,required:true,id:`param-type`,children:_jsxs(_components.p,{children:[`Type. Must be one of: `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`ongoing`}),`, or `,_jsx(_components.code,{children:`terminal`}),`.`]})}),_jsx(ParamField,{body:`color`,type:`string`,required:true,id:`param-color`,children:_jsx(_components.p,{children:`Text and comment pin color`})}),_jsx(ParamField,{body:`lightColor`,type:`string`,required:true,id:`param-light-color`,children:_jsx(_components.p,{children:`Background color on the status indicator`})}),_jsx(ParamField,{body:`svg`,type:`string`,id:`param-svg`,children:_jsxs(_components.p,{children:[`Raw SVG of the icon. Either `,_jsx(_components.code,{children:`svg`}),` or `,_jsx(_components.code,{children:`iconUrl`}),` is required.`]})}),_jsx(ParamField,{body:`iconUrl`,type:`string`,id:`param-icon-url`,children:_jsxs(_components.p,{children:[`Icon URL. Either `,_jsx(_components.code,{children:`svg`}),` or `,_jsx(_components.code,{children:`iconUrl`}),` is required.`]})})]})]}),_jsx(ParamField,{body:`assignedTo`,type:`User`,id:`param-assigned-to`,children:_jsx(_components.p,{children:`User object to whom the comment is assigned`})}),_jsx(ParamField,{body:`context`,type:`object`,id:`param-context-1`,children:_jsx(_components.p,{children:`Custom key/value metadata object`})}),_jsx(ParamField,{body:`createdAt`,type:`number`,id:`param-created-at-1`,children:_jsx(_components.p,{children:`Created At timestamp (in milliseconds since epoch).`})}),_jsx(ParamField,{body:`lastUpdated`,type:`number`,id:`param-last-updated-1`,children:_jsx(_components.p,{children:`Last Updated timestamp (in milliseconds since epoch).`})}),_jsxs(ParamField,{body:`priority`,type:`object`,id:`param-priority`,children:[_jsx(_components.p,{children:`Priority`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`id`,type:`string`,required:true,id:`param-id-2`,children:_jsx(_components.p,{children:`Priority ID`})}),_jsx(ParamField,{body:`color`,type:`string`,required:true,id:`param-color-1`,children:_jsx(_components.p,{children:`Priority Color`})}),_jsx(ParamField,{body:`name`,type:`string`,required:true,id:`param-name-2`,children:_jsx(_components.p,{children:`Priority Name`})}),_jsx(ParamField,{body:`lightColor`,type:`string`,required:true,id:`param-light-color-1`,children:_jsx(_components.p,{children:`Priority Light Color`})})]})]}),_jsx(ParamField,{body:`type`,type:`string`,id:`param-type-1`,children:_jsxs(_components.p,{children:[`Annotation kind. Must be one of: `,_jsx(_components.code,{children:`comment`}),` or `,_jsx(_components.code,{children:`suggestion`}),`. This is the source of truth for the suggestion classification; agent-produced findings should set `,_jsx(_components.code,{children:`suggestion`}),`. Defaults to `,_jsx(_components.code,{children:`comment`}),` when omitted.`]})}),_jsxs(ParamField,{body:`suggestion`,type:`object`,id:`param-suggestion-1`,children:[_jsxs(_components.p,{children:[`Proposed-change payload for `,_jsx(_components.code,{children:`type: \"suggestion\"`}),` annotations. Persisted verbatim so reviewers (and your app’s accept handler) can round-trip the target and the old/new values. Ignored when `,_jsx(_components.code,{children:`type`}),` is not `,_jsx(_components.code,{children:`suggestion`}),`. See `,_jsx(_components.a,{href:`/async-collaboration/suggestions/overview`,children:`Suggestions`}),` for the full frontend lifecycle.`]}),_jsxs(_components.p,{children:[`The schema is open: any additional custom fields you include are stored as-is alongside the fields below. `,_jsx(_components.code,{children:`status`}),` is server-owned: any caller-supplied value is dropped and the server stamps `,_jsx(_components.code,{children:`pending`}),` at create time (and `,_jsx(_components.code,{children:`accepted`}),` / `,_jsx(_components.code,{children:`rejected`}),` on the corresponding lifecycle action).`]}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{body:`targetId`,type:`string`,id:`param-target-id`,children:_jsx(_components.p,{children:`Stable ID of the thing being changed (for example, the record or field ID the suggestion applies to). Your accept handler uses this to locate what to update.`})}),_jsx(ParamField,{body:`targetType`,type:`string`,id:`param-target-type`,children:_jsxs(_components.p,{children:[`Kind of target the suggestion applies to (for example, `,_jsx(_components.code,{children:`custom`}),`, `,_jsx(_components.code,{children:`text`}),`, or a value your app defines).`]})}),_jsx(ParamField,{body:`oldValue`,type:`any`,id:`param-old-value`,children:_jsx(_components.p,{children:`The value at the time the suggestion was created. Can be any JSON-serializable value.`})}),_jsx(ParamField,{body:`newValue`,type:`any`,id:`param-new-value`,children:_jsx(_components.p,{children:`The proposed new value. Can be any JSON-serializable value. Your app writes this into its own state or backend when the suggestion is accepted.`})}),_jsx(ParamField,{body:`summary`,type:`string | null`,id:`param-summary`,children:_jsxs(_components.p,{children:[`Optional human-readable summary of the change (for example, `,_jsx(_components.code,{children:`\"row.123: 205 → 305\"`}),`).`]})}),_jsx(ParamField,{body:`driftDetected`,type:`boolean`,id:`param-drift-detected`,children:_jsxs(_components.p,{children:[`Set to `,_jsx(_components.code,{children:`true`}),` when the live target value at accept time differs from `,_jsx(_components.code,{children:`oldValue`}),`. Informational; it does not block the accept.`]})})]})]}),_jsxs(ParamField,{body:`commentType`,type:`string`,id:`param-comment-type`,children:[_jsxs(_components.p,{children:[`Caller-driven comment classification. Must be one of: `,_jsx(_components.code,{children:`manual`}),` or `,_jsx(_components.code,{children:`chart`}),`. Defaults to `,_jsx(_components.code,{children:`manual`}),` when omitted.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`The legacy value `,_jsx(_components.code,{children:`commentType: \"suggestion\"`}),` is still accepted and preserved for backward compatibility, but it no longer drives the suggestion classification. Use the annotation-level `,_jsx(_components.code,{children:`type: \"suggestion\"`}),` field instead.`]})})]}),_jsxs(ParamField,{body:`visibility`,type:`object`,id:`param-visibility`,children:[_jsxs(_components.p,{children:[`Controls who can see the annotation. Discriminated on `,_jsx(_components.code,{children:`type`}),`. When omitted, the annotation defaults to `,_jsx(_components.code,{children:`public`}),`.`]}),_jsxs(Expandable,{title:`properties`,children:[_jsxs(ParamField,{body:`type`,type:`string`,required:true,id:`param-type-2`,children:[_jsxs(_components.p,{children:[`Visibility type. Must be one of: `,_jsx(_components.code,{children:`public`}),`, `,_jsx(_components.code,{children:`organizationPrivate`}),`, or `,_jsx(_components.code,{children:`restricted`}),`.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`public`}),`: Visible to everyone.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`organizationPrivate`}),`: Visible only to users in the specified organization. Requires `,_jsx(_components.code,{children:`organizationId`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`restricted`}),`: Visible only to the specified users (private comment). Requires `,_jsx(_components.code,{children:`userIds`}),`.`]}),`\n`]})]}),_jsx(ParamField,{body:`organizationId`,type:`string`,id:`param-organization-id-1`,children:_jsxs(_components.p,{children:[`Organization ID whose users can see the annotation. Required when `,_jsx(_components.code,{children:`type`}),` is `,_jsx(_components.code,{children:`organizationPrivate`}),`.`]})}),_jsx(ParamField,{body:`userIds`,type:`string[]`,id:`param-user-ids`,children:_jsxs(_components.p,{children:[`User IDs allowed to see the annotation. Required (non-empty) when `,_jsx(_components.code,{children:`type`}),` is `,_jsx(_components.code,{children:`restricted`}),`.`]})})]})]}),_jsx(ParamField,{body:`actions`,type:`CommentAction[]`,id:`param-actions-1`,children:_jsxs(_components.p,{children:[`Per-row default action chips, inherited by every comment on the annotation that doesn’t set its own `,_jsx(_components.code,{children:`commentData[].actions`}),`. Capped at 20 entries. See `,_jsx(_components.a,{href:`/api-reference/sdk/models/data-models#commentaction`,children:`CommentAction`}),` for the full shape.`]})})]})})]})}),`\n`,_jsx(Heading,{level:`2`,id:`example-requests`,children:_jsx(_components.strong,{children:`Example Requests`})}),`\n`,_jsx(Heading,{level:`4`,id:`add-comment-annotation-by-organizationid-documentid-and-location`,children:`Add comment annotation by organizationId, documentId and location`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`31`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`31`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourOrganizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourDocumentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"location\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourLocationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"locationName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourLocationName\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetElement\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"elementId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourElementId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Your Target Text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"occurrence\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"selectAllContent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Sample Comment\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentHtml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cdiv>Sample Comment\u003c/div>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourUserId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourUserName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"yourUserEmail\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`add-comment-annotation-with-user-tagging`,children:`Add comment annotation with user tagging`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`32`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`32`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"triggerNotification\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hey {{user_sarah_chen}}, can you review this color scheme? I think we should use a darker shade for better contrast.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentHtml\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cp>Hey {{user_sarah_chen}}, can you review this color scheme? I think we should use a darker shade for better contrast.\u003c/p>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_john_smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John Smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"john.smith@acme-corp.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"taggedUserContacts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_sarah_chen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"contact\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_sarah_chen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Sarah Chen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sarah.chen@acme-corp.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`In this example, `,_jsx(_components.code,{children:`{{user_sarah_chen}}`}),` in the commentText will be replaced with “Sarah Chen” on the frontend, displaying as “Hey Sarah Chen, can you review this color scheme? I think we should use a darker shade for better contrast.”`]}),`\n`,_jsx(Heading,{level:`4`,id:`add-comment-annotation-with-permission-verification`,children:`Add comment annotation with permission verification`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`21`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"verifyUserPermissions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Please review this section\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_john_smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John Smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"john.smith@acme-corp.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`verifyUserPermissions`}),` is enabled, the API verifies the user has access to the document before creating the comment annotation. If verification fails, the request will be rejected.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`add-comment-annotation-with-activity-tracking`,children:`Add comment annotation with activity tracking`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`22`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This needs review\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"triggerNotification\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"triggerActivities\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user@example.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"User Name\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`add-a-content-less-progress-comment-with-action-chips`,children:`Add a content-less progress comment with action chips`}),`\n`,_jsxs(_components.p,{children:[`Create a comment with no text and `,_jsx(_components.code,{children:`progress.state: \"active\"`}),` to reserve a spot for a running task. Push step updates with subsequent `,_jsx(_components.a,{href:`/api-reference/rest-apis/v2/comments-feature/comments/update-comments`,children:`Update Comments`}),` calls on the same `,_jsx(_components.code,{children:`commentId`}),`, then finish by writing the real content with `,_jsx(_components.code,{children:`state: \"completed\"`}),`. `,_jsx(_components.code,{children:`actions`}),` renders customer-defined chips; Velt performs no write of its own when one is clicked.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`28`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"isCommentTextAvailable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"progress\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"active\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"steps\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Fetching data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"active\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"actions\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"approve\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"label\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Approve\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"agent-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Review Agent\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`add-comment-annotation-with-access-context`,children:`Add comment annotation with access context`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`26`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`26`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"analytics-dashboard\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"context\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"access\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"entityId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"numberOfVisitors\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"dashboardId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"myDashboard\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Traffic numbers look unusual today\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_john_smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John Smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"john.smith@acme-corp.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`add-an-agent-suggestion-finding`,children:`Add an agent suggestion (finding)`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`type: \"suggestion\"`}),` and attach an `,_jsx(_components.code,{children:`agent`}),` block to the root comment (`,_jsx(_components.code,{children:`commentData[0]`}),`). The server generates the annotation-level agent block and stamps `,_jsx(_components.code,{children:`sourceType: \"agent\"`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`35`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`35`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"suggestion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Heading has a spelling mistake: 'Welcom' should be 'Welcome'.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spell-check\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Spell Check Agent\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentSource\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"velt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spell-check\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"executionId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"exec_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://example.com/design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Spelling error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The word 'Welcom' is misspelled.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"severity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"low\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"findingType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"confidence\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`98`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"suggestedFix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Welcome\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"instructions\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`To attach a finding from an agent run through your own framework, use `,_jsx(_components.code,{children:`agentSource: \"external\"`}),` and supply your own `,_jsx(_components.code,{children:`agentName`}),` and `,_jsx(_components.code,{children:`agentId`}),` (`,_jsx(_components.code,{children:`executionId`}),` is optional):`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`30`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`30`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"suggestion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This button has insufficient color contrast.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a11y-bot\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentSource\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"external\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Accessibility Bot\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"agentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a11y-bot\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"reason\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Low color contrast\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Contrast ratio is 2.1:1, below the 4.5:1 WCAG AA threshold.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"severity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"high\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"findingType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pin\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`add-a-suggestion-with-a-proposed-change-payload`,children:`Add a suggestion with a proposed-change payload`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`type: \"suggestion\"`}),` and attach a `,_jsx(_components.code,{children:`suggestion`}),` object describing what should change. The server persists the payload verbatim and stamps `,_jsx(_components.code,{children:`suggestion.status: \"pending\"`}),`; any caller-supplied `,_jsx(_components.code,{children:`status`}),` is dropped. Additional custom fields inside `,_jsx(_components.code,{children:`suggestion`}),` are stored as-is.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`29`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`29`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"suggestion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"suggestion\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"row.123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"targetType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"custom\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"oldValue\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`205`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"newValue\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"x\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`305`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"summary\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"row.123: 205 → 305\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"driftDetected\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"myCustomField\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"kept as-is\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bump x from 205 to 305 to match the spec.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_sarah_chen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Sarah Chen\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`add-a-private-restricted-comment-annotation`,children:`Add a private (restricted) comment annotation`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`visibility`}),` to limit who can see the annotation.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`24`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`24`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organizationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"acme-corp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"documentId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"design-mockup-v2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentAnnotations\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"visibility\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"restricted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_sarah_chen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_john_smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentText\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Internal note: don't ship this section yet.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"userId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user_john_smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"John Smith\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"john.smith@acme-corp.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`1`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`data`}),` is a map of results, keyed per annotation, not an array.`]}),`\n`,_jsx(Heading,{level:`4`,id:`success-response`,children:`Success Response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Comment Annotation(s) added successfully.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"-O0mpUziLcBwzREvZKs6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"annotationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"-O0mpUziLcBwzREvZKs6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 126535`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Added Successfully\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`result-fields`,children:`Result fields`}),`\n`,_jsx(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:_jsxs(_components.p,{children:[`Outcome for this annotation. The envelope reports `,_jsx(_components.code,{children:`success`}),` only when every entry succeeded and no user was permission denied.`]})}),`\n`,_jsx(ResponseField,{name:`annotationId`,type:`string`,id:`param-annotation-id-1`,children:_jsxs(_components.p,{children:[`The annotation ID. `,_jsx(_components.code,{children:`annotationId`}),` is optional on input, so the server generates one when you do not supply it.`]})}),`\n`,_jsx(ResponseField,{name:`commentIds`,type:`number[]`,id:`param-comment-ids`,children:_jsx(_components.p,{children:`IDs of the comments created inside this annotation.`})}),`\n`,_jsx(ResponseField,{name:`message`,type:`string`,id:`param-message`,children:_jsx(_components.p,{children:`Success message, or the reason this annotation failed.`})}),`\n`,_jsx(ResponseField,{name:`findingId`,type:`string`,id:`param-finding-id-1`,children:_jsxs(_components.p,{children:[`Agent annotations only. Echoes back `,_jsx(_components.code,{children:`commentData[0].agent.reason.findingId`}),` exactly as you sent it. The field is omitted for non-agent annotations.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`correlating-results-back-to-your-own-records`,children:`Correlating results back to your own records`}),`\n`,_jsxs(_components.p,{children:[`Read `,_jsx(_components.code,{children:`entry.annotationId`}),` from each result, never the map key.`]}),`\n`,_jsxs(_components.p,{children:[`The server generates `,_jsx(_components.code,{children:`annotationId`}),`, and results are written into the map as each write completes, so the map order does not match the order you submitted. For agent annotations, `,_jsx(_components.code,{children:`findingId`}),` is the reliable way to match a created annotation back to the record it came from.`]}),`\n`,_jsxs(_components.p,{children:[`Entries for annotations rejected by permission checks are recorded before an ID exists. When you did not supply an `,_jsx(_components.code,{children:`annotationId`}),` for one of those, its key falls back to `,_jsx(_components.code,{children:`__velt_denied:\u003cindex>`}),`, where `,_jsx(_components.code,{children:`\u003cindex>`}),` is its position in the `,_jsx(_components.code,{children:`commentAnnotations`}),` array you sent, and the entry has no `,_jsx(_components.code,{children:`annotationId`}),` field to read. That key is reserved: annotation IDs cannot contain a colon, so it never collides with one of yours.`]}),`\n`,_jsx(Heading,{level:`4`,id:`failure-response`,children:`Failure Response`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ERROR_MESSAGE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INVALID_ARGUMENT\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`When some annotations fail or a user is permission denied, the error carries the same per-annotation map in `,_jsx(_components.code,{children:`details`}),`. Entries marked `,_jsx(_components.code,{children:`\"success\": true`}),` inside `,_jsx(_components.code,{children:`details`}),` `,_jsx(_components.strong,{children:`were created`}),`, so treat a failed request as a partial write and read `,_jsx(_components.code,{children:`details`}),` instead of assuming nothing was saved.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`20`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`20`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ERROR_MESSAGE\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PERMISSION_DENIED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"-O0mpUziLcBwzREvZKs6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"annotationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"-O0mpUziLcBwzREvZKs6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"commentIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 126535`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Added Successfully\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"deniedAnnotation-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ERROR_MESSAGE\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Add Comment Annotations","description":"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.","api":"POST https://api.velt.dev/v2/commentannotations/add","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[358,362,"Example,ResponseFiel"],[644,659,"Example)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingM"],[126455,126883,",`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"result\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Comment Annotation(s) added successfully.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"-O0mpUziLcBwzREvZKs6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"annotationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"-O0mpUziLcBwzREvZKs6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"commentIds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 126535`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Added Successfully\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}"]]},"mdxExtracts":{"tableOfContents":[{"title":"Endpoint","slug":"endpoint","depth":1,"children":[]},{"title":"Headers","slug":"headers","depth":1,"children":[]},{"title":"Body","slug":"body","depth":1,"children":[{"title":"Params","slug":"params","depth":4,"children":[]}]},{"title":"Example Requests","slug":"example-requests","depth":2,"children":[{"title":"Add comment annotation by organizationId, documentId and location","slug":"add-comment-annotation-by-organizationid-documentid-and-location","depth":4,"children":[]},{"title":"Add comment annotation with user tagging","slug":"add-comment-annotation-with-user-tagging","depth":4,"children":[]},{"title":"Add comment annotation with permission verification","slug":"add-comment-annotation-with-permission-verification","depth":4,"children":[]},{"title":"Add comment annotation with activity tracking","slug":"add-comment-annotation-with-activity-tracking","depth":4,"children":[]},{"title":"Add a content-less progress comment with action chips","slug":"add-a-content-less-progress-comment-with-action-chips","depth":4,"children":[]},{"title":"Add comment annotation with access context","slug":"add-comment-annotation-with-access-context","depth":4,"children":[]},{"title":"Add an agent suggestion (finding)","slug":"add-an-agent-suggestion-finding","depth":4,"children":[]},{"title":"Add a suggestion with a proposed-change payload","slug":"add-a-suggestion-with-a-proposed-change-payload","depth":4,"children":[]},{"title":"Add a private (restricted) comment annotation","slug":"add-a-private-restricted-comment-annotation","depth":4,"children":[]}]},{"title":"Response","slug":"response","depth":1,"children":[{"title":"Success Response","slug":"success-response","depth":4,"children":[]},{"title":"Result fields","slug":"result-fields","depth":4,"children":[]},{"title":"Correlating results back to your own records","slug":"correlating-results-back-to-your-own-records","depth":4,"children":[]},{"title":"Failure Response","slug":"failure-response","depth":4,"children":[]}]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"javascript\">\u003ccode language=\"javascript\" numberOfLines=\"16\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"result\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Comment Annotation(s) added successfully.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"-O0mpUziLcBwzREvZKs6\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"annotationId\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"-O0mpUziLcBwzREvZKs6\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"commentIds\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\"> 126535\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">:\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Added Successfully\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Add Comment Annotations","path":"/v2/commentannotations/add","servers":[{"url":"https://api.velt.dev"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"x-velt-api-key":{"schema":[{"type":"string","description":"Your API key.","required":true}]},"x-velt-auth-token":{"schema":[{"type":"string","description":"Your Auth Token .","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"data":[{"type":"object","properties":{"organizationId":[{"type":"string","description":"Organization ID","required":true}],"documentId":[{"type":"string","description":"Document ID","required":true}],"createOrganization":[{"type":"boolean","description":"If set to true, a new organization will be created (if it doesn’t exist) before the annotation is added."}],"createDocument":[{"type":"boolean","description":"If set to true, a new document will be created (if it doesn’t exist) before the annotation is added."}],"verifyUserPermissions":[{"type":"boolean","description":"When enabled, verifies the user has access to the document before creating comment annotations. This ensures annotations respect document access permissions configured via Access Control or Permission Provider. Default: `false`"}],"commentAnnotations":[{"type":"array","items":[{"type":"object","properties":{"annotationId":[{"type":"string","description":"Custom Annotation ID. If not provided, Velt will generate a unique ID for the annotation."}],"location":[{"type":"object","properties":{"id":[{"type":"string","description":"Location ID","required":true}],"locationName":[{"type":"string","description":"Location Name"}]}}],"targetElement":[{"type":"object","properties":{"elementId":[{"type":"string","description":"Element DOM Id. When used with `targetText` , defines the text search boundaries for locating text comments within the specified element."}],"targetText":[{"type":"string","description":"Target Text. Provide this if you want to add comment annotation on the provided text content."}],"occurrence":[{"type":"number","description":"Occurrence. Provide this if you want to add comment annotation on a text content."}],"selectAllContent":[{"type":"boolean","description":"Select All Content. Provide this if you want to select and add comment annotation on the entire text content of the target elementId."}]},"description":"Target Element"}],"commentData":[{"type":"array","items":[{"type":"object","properties":{"commentId":[{"type":"number","description":"Custom Comment ID. If not provided, Velt will generate a unique ID for the comment."}],"commentText":[{"type":"string","description":"Comment content in plain text string. To tag users, wrap their userId in double curly braces like `{{userId}}` . The frontend will replace this with the user’s name."}],"commentHtml":[{"type":"string","description":"Comment content in HTML string. To tag users, wrap their userId in double curly braces like `{{userId}}` . The frontend will replace this with the user’s name."}],"context":[{"type":"object","properties":{},"description":"Custom key/value metadata object. This is used to store any additional information about the comment."}],"isCommentResolverUsed":[{"type":"boolean","description":"Use this for self-hosting comments data. Set this as true if you are comments resolver data provider in the SDK."}],"isCommentTextAvailable":[{"type":"boolean","description":"Use this for self-hosting comments data. Set this as true if this comment will have text content. Sometimes, comments might only have attachments and in that case, set this as false."}],"progress":[{"type":"object","properties":{},"description":"Turns this comment into a live progress row while `progress.state` is `active` . Absence leaves the comment unaffected. See CommentProgress for the full shape. `steps` is capped at 100 entries."}],"actions":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Customer-defined action chips rendered on this comment row. Overrides the annotation-level `actions` default for this row. Capped at 20 entries. See CommentAction for the full shape."}],"triggerNotification":[{"type":"boolean","description":"When enabled, adding comments via the REST API will trigger in-app notifications, email notifications to relevant users and also trigger webhooks matching the SDK’s native notification behavior. Default: false."}],"triggerActivities":[{"type":"boolean","description":"When enabled, adding comments via the REST API will create activity log records matching the SDK’s native activity log behavior. Default: false."}],"from":[{"type":"object","properties":{},"description":"User object from whom the comment is added","required":true}],"createdAt":[{"type":"number","description":"Created At timestamp (in milliseconds since epoch)."}],"lastUpdated":[{"type":"number","description":"Last Updated timestamp (in milliseconds since epoch)."}],"taggedUserContacts":[{"type":"array","items":[{"type":"object","properties":{"userId":[{"type":"string","description":"User ID of the tagged user. This should match the userId used in `{{userId}}` syntax within commentText or commentHtml.","required":true}],"contact":[{"type":"object","properties":{"userId":[{"type":"string","description":"User ID of the tagged user","required":true}],"name":[{"type":"string","description":"Name of the tagged user"}],"email":[{"type":"string","description":"Email of the tagged user"}]},"description":"Contact information for the tagged user","required":true}]}}],"description":"Array of tagged user contacts. Use this field to provide information about users tagged in the comment. Each userId wrapped in `{{userId}}` in commentText or commentHtml should have a corresponding entry here so the frontend can replace it with the user’s name."}],"agent":[{"type":"object","properties":{"agentSource":[{"type":"string","description":"Origin of the agent. Must be one of: `velt` or `external` .","required":true}],"agentId":[{"type":"string","description":"Agent ID. Must be non-empty for both sources. When `agentSource` is `velt` , it is a built-in agent like `spell-check` or a custom agent ID that is verified server-side (unknown IDs return `NOT_FOUND` ). When `agentSource` is `external` , it is your own identifier — opaque and never validated against any registry.","required":true}],"executionId":[{"type":"string","description":"Execution / run ID for this agent invocation."}],"agentName":[{"type":"string","description":"Display name for the agent. Required when `agentSource` is `external` (the only source of truth for an external agent’s name). Not used for `velt` agents (their name is resolved server-side)."}],"url":[{"type":"string","description":"Page URL associated with the finding."}],"reason":[{"type":"object","properties":{"title":[{"type":"string","description":"Short finding title.","required":true}],"description":[{"type":"string","description":"Finding description.","required":true}],"severity":[{"type":"string","description":"Severity of the finding. Must be one of: `critical` , `high` , `medium` , `low` , or `info` .","required":true}],"findingId":[{"type":"string","description":"Unique identifier for the finding."}],"findingType":[{"type":"string","description":"Type of finding. Must be one of: `text` , `pin` , or `page` ."}],"issueType":[{"type":"string","description":"Custom issue classification."}],"confidence":[{"type":"number","description":"Confidence score for the finding. Integer between 0 and 100."}],"suggestion":[{"type":"string","description":"Suggested change in plain text."}],"suggestedFix":[{"type":"string","description":"Suggested fix for the finding."}],"htmlSnippet":[{"type":"string","description":"Relevant HTML snippet for the finding."}],"htmlSelector":[{"type":"string","description":"CSS/HTML selector pointing to the finding location."}],"source":[{"type":"string","description":"Provenance of the rule that triggered the finding. Must be one of: `instructions` or `knowledge` ."}],"knowledgeSection":[{"type":"string","description":"Knowledge section that triggered the finding."}]},"description":"Finding details produced by the agent. Additional custom fields are preserved.","required":true}]},"description":"Marks this comment as agent-authored (an agent finding or an agent reply). V2 only. When set, the server stamps `sourceType: \"agent\"` on the comment. When set on the root comment ( `commentData[0]` ), the server also generates the annotation-level agent block and stamps `sourceType: \"agent\"` on the annotation. Discriminated on `agentSource` ."}]}}],"description":"Array of Comment Data","required":true}],"status":[{"type":"object","properties":{"id":[{"type":"string","description":"Status ID","required":true}],"name":[{"type":"string","description":"Status Name","required":true}],"type":[{"type":"string","description":"Type. Must be one of: `default` , `ongoing` , or `terminal` .","required":true}],"color":[{"type":"string","description":"Text and comment pin color","required":true}],"lightColor":[{"type":"string","description":"Background color on the status indicator","required":true}],"svg":[{"type":"string","description":"Raw SVG of the icon. Either `svg` or `iconUrl` is required."}],"iconUrl":[{"type":"string","description":"Icon URL. Either `svg` or `iconUrl` is required."}]},"description":"Status"}],"assignedTo":[{"type":"object","properties":{},"description":"User object to whom the comment is assigned"}],"context":[{"type":"object","properties":{},"description":"Custom key/value metadata object"}],"createdAt":[{"type":"number","description":"Created At timestamp (in milliseconds since epoch)."}],"lastUpdated":[{"type":"number","description":"Last Updated timestamp (in milliseconds since epoch)."}],"priority":[{"type":"object","properties":{"id":[{"type":"string","description":"Priority ID","required":true}],"color":[{"type":"string","description":"Priority Color","required":true}],"name":[{"type":"string","description":"Priority Name","required":true}],"lightColor":[{"type":"string","description":"Priority Light Color","required":true}]},"description":"Priority"}],"type":[{"type":"string","description":"Annotation kind. Must be one of: `comment` or `suggestion` . This is the source of truth for the suggestion classification; agent-produced findings should set `suggestion` . Defaults to `comment` when omitted."}],"suggestion":[{"type":"object","properties":{"targetId":[{"type":"string","description":"Stable ID of the thing being changed (for example, the record or field ID the suggestion applies to). Your accept handler uses this to locate what to update."}],"targetType":[{"type":"string","description":"Kind of target the suggestion applies to (for example, `custom` , `text` , or a value your app defines)."}],"oldValue":[{"type":"any","description":"The value at the time the suggestion was created. Can be any JSON-serializable value."}],"newValue":[{"type":"any","description":"The proposed new value. Can be any JSON-serializable value. Your app writes this into its own state or backend when the suggestion is accepted."}],"summary":[{"type":"object","properties":{},"description":"Optional human-readable summary of the change (for example, `\"row.123: 205 → 305\"` )."}],"driftDetected":[{"type":"boolean","description":"Set to `true` when the live target value at accept time differs from `oldValue` . Informational; it does not block the accept."}]},"description":"Proposed-change payload for `type: \"suggestion\"` annotations. Persisted verbatim so reviewers (and your app’s accept handler) can round-trip the target and the old/new values. Ignored when `type` is not `suggestion` . See Suggestions for the full frontend lifecycle. The schema is open: any additional custom fields you include are stored as-is alongside the fields below. `status` is server-owned: any caller-supplied value is dropped and the server stamps `pending` at create time (and `accepted` / `rejected` on the corresponding lifecycle action)."}],"commentType":[{"type":"string","description":"Caller-driven comment classification. Must be one of: `manual` or `chart` . Defaults to `manual` when omitted."}],"visibility":[{"type":"object","properties":{"type":[{"type":"string","description":"Visibility type. Must be one of: `public` , `organizationPrivate` , or `restricted` . `public` : Visible to everyone. `organizationPrivate` : Visible only to users in the specified organization. Requires `organizationId` . `restricted` : Visible only to the specified users (private comment). Requires `userIds` .","required":true}],"organizationId":[{"type":"string","description":"Organization ID whose users can see the annotation. Required when `type` is `organizationPrivate` ."}],"userIds":[{"type":"array","items":[{"type":"string"}],"description":"User IDs allowed to see the annotation. Required (non-empty) when `type` is `restricted` ."}]},"description":"Controls who can see the annotation. Discriminated on `type` . When omitted, the annotation defaults to `public` ."}],"actions":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Per-row default action chips, inherited by every comment on the annotation that doesn’t set its own `commentData[].actions` . Capped at 20 entries. See CommentAction for the full shape."}]}}],"required":true}]},"required":true}]}}],"examples":{"example":{"value":{"data":{"organizationId":"\u003cstring>","documentId":"\u003cstring>","createOrganization":true,"createDocument":true,"verifyUserPermissions":true,"commentAnnotations":[{"annotationId":"\u003cstring>","location":{"id":"\u003cstring>","locationName":"\u003cstring>"},"targetElement":{"elementId":"\u003cstring>","targetText":"\u003cstring>","occurrence":123,"selectAllContent":true},"commentData":[{"commentId":123,"commentText":"\u003cstring>","commentHtml":"\u003cstring>","context":{},"isCommentResolverUsed":true,"isCommentTextAvailable":true,"progress":{},"actions":[{}],"triggerNotification":true,"triggerActivities":true,"from":{},"createdAt":123,"lastUpdated":123,"taggedUserContacts":[{"userId":"\u003cstring>","contact":{"userId":"\u003cstring>","name":"\u003cstring>","email":"\u003cstring>"}}],"agent":{"agentSource":"\u003cstring>","agentId":"\u003cstring>","executionId":"\u003cstring>","agentName":"\u003cstring>","url":"\u003cstring>","reason":{"title":"\u003cstring>","description":"\u003cstring>","severity":"\u003cstring>","findingId":"\u003cstring>","findingType":"\u003cstring>","issueType":"\u003cstring>","confidence":123,"suggestion":"\u003cstring>","suggestedFix":"\u003cstring>","htmlSnippet":"\u003cstring>","htmlSelector":"\u003cstring>","source":"\u003cstring>","knowledgeSection":"\u003cstring>"}}}],"status":{"id":"\u003cstring>","name":"\u003cstring>","type":"\u003cstring>","color":"\u003cstring>","lightColor":"\u003cstring>","svg":"\u003cstring>","iconUrl":"\u003cstring>"},"assignedTo":{},"context":{},"createdAt":123,"lastUpdated":123,"priority":{"id":"\u003cstring>","color":"\u003cstring>","name":"\u003cstring>","lightColor":"\u003cstring>"},"type":"\u003cstring>","suggestion":{"targetId":"\u003cstring>","targetType":"\u003cstring>","oldValue":"\u003cany>","newValue":"\u003cany>","summary":{},"driftDetected":true},"commentType":"\u003cstring>","visibility":{"type":"\u003cstring>","organizationId":"\u003cstring>","userIds":["\u003cstring>"]},"actions":[{}]}]}}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"success":[{"type":"boolean","description":"Outcome for this annotation. The envelope reports `success` only when every entry succeeded and no user was permission denied."}],"annotationId":[{"type":"string","description":"The annotation ID. `annotationId` is optional on input, so the server generates one when you do not supply it."}],"commentIds":[{"type":"array","items":[{"type":"number"}],"description":"IDs of the comments created inside this annotation."}],"message":[{"type":"string","description":"Success message, or the reason this annotation failed."}],"findingId":[{"type":"string","description":"Agent annotations only. Echoes back `commentData[0].agent.reason.findingId` exactly as you sent it. The field is omitted for non-agent annotations."}]}}],"examples":{"example":{"value":{"success":true,"annotationId":"\u003cstring>","commentIds":[123],"message":"\u003cstring>","findingId":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":["/docs/_mintlify/custom/velt/752c38235fc975ab/reb2b-tracking.js","/docs/_mintlify/custom/velt/39475307ed77f9b2/signals-tracking.js"],"subdomain":"velt","siteName":"Velt","title":"Add Comment Annotations - Velt","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-02T22:04:14.624Z","originalFileLocation":"api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations.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=\"dark\"}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=\"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Velt\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_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=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add Comment Annotations - Velt\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Velt\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026amp;token=9e4502da-66ef-4005-9124-dbc76f04b1fd\">\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=\"Add Comment Annotations - Velt\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026amp;token=9e4502da-66ef-4005-9124-dbc76f04b1fd\">\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=\"/docs/mintlify-assets/_mintlify/favicons/velt/XJwux-wDtXKfbtc-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Velt\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#272728\">\u003clink data-mint-head rel=\"canonical\" href=\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://velt.dev/#organization\",\"name\":\"Velt\",\"url\":\"https://velt.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/velt/gY7ilEx2g4g3-HVe/velt-logo-big-light.png?fit=max\u0026auto=format\u0026n=gY7ilEx2g4g3-HVe\u0026q=85\u0026s=c75fd62a074f53174a364509b4363fdc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://velt.dev/docs#website\",\"name\":\"Velt\",\"url\":\"https://velt.dev/docs\",\"publisher\":{\"@id\":\"https://velt.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations#webpage\",\"url\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations\",\"name\":\"Add Comment Annotations\",\"description\":\"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.\",\"dateModified\":\"2026-09-02T22:04:14.624Z\",\"isPartOf\":{\"@id\":\"https://velt.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"REST APIs\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/organizations/add-organizations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"v2\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/organizations/add-organizations\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Add Comment Annotations\",\"item\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations#apireference\",\"headline\":\"Add Comment Annotations\",\"name\":\"Add Comment Annotations\",\"description\":\"Create V2 comment annotations via REST: plain comments, agent findings, suggestions with a proposed-change payload, and private annotations.\",\"url\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations\",\"mainEntityOfPage\":{\"@id\":\"https://velt.dev/docs/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations#webpage\"},\"image\":\"https://firebasestorage.googleapis.com/v0/b/snippyly.appspot.com/o/external%2Fvelt_docs.png?alt=media\u0026token=9e4502da-66ef-4005-9124-dbc76f04b1fd\",\"dateModified\":\"2026-09-02T22:04:14.624Z\",\"publisher\":{\"@id\":\"https://velt.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://velt.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Velt\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Velt","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/get-started/overview"}]},{"tab":"UI Customization","pages":[{"title":"UI Customization","href":"/ui-customization/overview"}]},{"tab":"API Reference","groups":[{"group":"REST APIs","pages":[{"group":"v2","pages":[{"group":"Organizations","pages":[{"title":"Add Organizations","api":"POST https://api.velt.dev/v2/organizations/add","href":"/api-reference/rest-apis/v2/organizations/add-organizations"},{"title":"Get Organizations","api":"POST https://api.velt.dev/v2/organizations/get","href":"/api-reference/rest-apis/v2/organizations/get-organizations-v2"},{"title":"Update Organizations","api":"POST https://api.velt.dev/v2/organizations/update","href":"/api-reference/rest-apis/v2/organizations/update-organizations"},{"title":"Delete Organizations","api":"POST https://api.velt.dev/v2/organizations/delete","href":"/api-reference/rest-apis/v2/organizations/delete-organizations"},{"title":"Update Disabled State for Organizations","api":"POST https://api.velt.dev/v2/organizations/access/disablestate/update","href":"/api-reference/rest-apis/v2/organizations/update-organization-disable-state"}]},{"group":"Folders","pages":[{"title":"Add Folder","api":"POST https://api.velt.dev/v2/organizations/folders/add","href":"/api-reference/rest-apis/v2/folders/add-folder"},{"title":"Get Folders","api":"POST https://api.velt.dev/v2/organizations/folders/get","href":"/api-reference/rest-apis/v2/folders/get-folders"},{"title":"Update Folder","api":"POST https://api.velt.dev/v2/organizations/folders/update","href":"/api-reference/rest-apis/v2/folders/update-folder"},{"title":"Delete Folder","api":"POST https://api.velt.dev/v2/organizations/folders/delete","href":"/api-reference/rest-apis/v2/folders/delete-folder"},{"title":"Update Access for Folders","api":"POST https://api.velt.dev/v2/organizations/folders/access/update","href":"/api-reference/rest-apis/v2/folders/update-folder-access"}]},{"group":"Documents","pages":[{"title":"Add Documents","api":"POST https://api.velt.dev/v2/organizations/documents/add","href":"/api-reference/rest-apis/v2/documents/add-documents"},{"title":"Get Documents","api":"POST https://api.velt.dev/v2/organizations/documents/get","href":"/api-reference/rest-apis/v2/documents/get-documents-v2"},{"title":"Update Documents","api":"POST https://api.velt.dev/v2/organizations/documents/update","href":"/api-reference/rest-apis/v2/documents/update-documents"},{"title":"Delete Documents","api":"POST https://api.velt.dev/v2/organizations/documents/delete","href":"/api-reference/rest-apis/v2/documents/delete-documents"},{"title":"Move Documents","api":"POST https://api.velt.dev/v2/organizations/documents/move","href":"/api-reference/rest-apis/v2/documents/move-documents"},{"title":"Migrate Documents","api":"POST https://api.velt.dev/v2/organizations/documents/migrate","href":"/api-reference/rest-apis/v2/documents/migrate-documents"},{"title":"Migrate Documents Status","api":"POST https://api.velt.dev/v2/organizations/documents/migrate/status","href":"/api-reference/rest-apis/v2/documents/migrate-documents-status"},{"title":"Update Access for Documents","api":"POST https://api.velt.dev/v2/organizations/documents/access/update","href":"/api-reference/rest-apis/v2/documents/update-document-access"},{"title":"Update Disabled State for Documents","api":"POST https://api.velt.dev/v2/organizations/documents/access/disablestate/update","href":"/api-reference/rest-apis/v2/documents/update-document-disable-state"}]},{"group":"Users","pages":[{"title":"Add Users","api":"POST https://api.velt.dev/v2/users/add","href":"/api-reference/rest-apis/v2/users/add-users"},{"title":"Get Users","api":"POST https://api.velt.dev/v2/users/get","href":"/api-reference/rest-apis/v2/users/get-users-v2"},{"title":"Update Users","api":"POST https://api.velt.dev/v2/users/update","href":"/api-reference/rest-apis/v2/users/update-users"},{"title":"Delete Users","api":"POST https://api.velt.dev/v2/users/delete","href":"/api-reference/rest-apis/v2/users/delete-users"}]},{"group":"User Groups","pages":[{"title":"Add User Groups","api":"POST https://api.velt.dev/v2/organizations/usergroups/add","href":"/api-reference/rest-apis/v2/user-groups/add-groups"},{"title":"Add Users to Groups","api":"POST https://api.velt.dev/v2/organizations/usergroups/users/add","href":"/api-reference/rest-apis/v2/user-groups/add-users-to-group"},{"title":"Delete Users from Groups","api":"POST https://api.velt.dev/v2/organizations/usergroups/users/delete","description":null,"href":"/api-reference/rest-apis/v2/user-groups/delete-users-from-group"}]},{"group":"Comments Feature","pages":[{"group":"Comments Annotations","pages":[{"title":"Add Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/add","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations"},{"title":"Get Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/get","description":null,"href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2"},{"title":"Update Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/update","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/update-comment-annotations"},{"title":"Delete Comment Annotations","api":"POST https://api.velt.dev/v2/commentannotations/delete","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/delete-comment-annotations"},{"title":"Get Comment Annotations Count","api":"POST https://api.velt.dev/v2/commentannotations/count/get","href":"/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-count"}]},{"group":"Comments","pages":[{"title":"Add Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/add","href":"/api-reference/rest-apis/v2/comments-feature/comments/add-comments"},{"title":"Get Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/get","href":"/api-reference/rest-apis/v2/comments-feature/comments/get-comments"},{"title":"Update Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/update","href":"/api-reference/rest-apis/v2/comments-feature/comments/update-comments"},{"title":"Delete Comments","api":"POST https://api.velt.dev/v2/commentannotations/comments/delete","href":"/api-reference/rest-apis/v2/comments-feature/comments/delete-comments"}]}]},{"group":"Notifications","pages":[{"title":"Add Notifications","api":"POST https://api.velt.dev/v2/notifications/add","href":"/api-reference/rest-apis/v2/notifications/add-notifications"},{"title":"Get Notifications","api":"POST https://api.velt.dev/v2/notifications/get","href":"/api-reference/rest-apis/v2/notifications/get-notifications-v2"},{"title":"Update Notifications","api":"POST https://api.velt.dev/v2/notifications/update","href":"/api-reference/rest-apis/v2/notifications/update-notifications"},{"title":"Delete Notifications","api":"POST https://api.velt.dev/v2/notifications/delete","href":"/api-reference/rest-apis/v2/notifications/delete-notifications"},{"title":"Set Config","api":"POST https://api.velt.dev/v2/notifications/config/set","href":"/api-reference/rest-apis/v2/notifications/set-config"},{"title":"Get Config","api":"POST https://api.velt.dev/v2/notifications/config/get","href":"/api-reference/rest-apis/v2/notifications/get-config"}]},{"group":"Activity Logs","pages":[{"title":"Add Activity Logs","api":"POST https://api.velt.dev/v2/activities/add","href":"/api-reference/rest-apis/v2/activities/add-activities"},{"title":"Get Activity Logs","api":"POST https://api.velt.dev/v2/activities/get","href":"/api-reference/rest-apis/v2/activities/get-activities"},{"title":"Update Activity Logs","api":"POST https://api.velt.dev/v2/activities/update","href":"/api-reference/rest-apis/v2/activities/update-activities"},{"title":"Delete Activity Logs","api":"POST https://api.velt.dev/v2/activities/delete","href":"/api-reference/rest-apis/v2/activities/delete-activities"}]},{"group":"Recordings","pages":[{"title":"Get Recordings","api":"POST https://api.velt.dev/v2/recordings/get","href":"/api-reference/rest-apis/v2/recordings/get-recordings"}]},{"group":"GDPR","pages":[{"title":"Get All User Data","api":"POST https://api.velt.dev/v2/users/data/get","href":"/api-reference/rest-apis/v2/gdpr/get-all-user-data-gdpr"},{"title":"Delete All User Data","api":"POST https://api.velt.dev/v2/users/data/delete","href":"/api-reference/rest-apis/v2/gdpr/delete-all-user-data-gdpr"},{"title":"Get Delete All User Data Status","api":"POST https://api.velt.dev/v2/users/data/delete/status","href":"/api-reference/rest-apis/v2/gdpr/get-delete-user-data-status-gdpr"}]},{"group":"Access Control","pages":[{"title":"Generate Token","api":"POST https://api.velt.dev/v2/auth/generate_token","href":"/api-reference/rest-apis/v2/auth/generate-token"},{"title":"Add Permissions","api":"POST https://api.velt.dev/v2/auth/permissions/add","href":"/api-reference/rest-apis/v2/auth/add-permissions"},{"title":"Get Permissions","api":"POST https://api.velt.dev/v2/auth/permissions/get","href":"/api-reference/rest-apis/v2/auth/get-permissions"},{"title":"Remove Permissions","api":"POST https://api.velt.dev/v2/auth/permissions/remove","href":"/api-reference/rest-apis/v2/auth/remove-permissions"}]},{"group":"CRDT","pages":[{"title":"Get CRDT Data","api":"POST https://api.velt.dev/v2/crdt/get","href":"/api-reference/rest-apis/v2/crdt/get-crdt-data"},{"title":"Add CRDT Data","api":"POST https://api.velt.dev/v2/crdt/add","href":"/api-reference/rest-apis/v2/crdt/add-crdt-data"},{"title":"Update CRDT Data","api":"POST https://api.velt.dev/v2/crdt/update","href":"/api-reference/rest-apis/v2/crdt/update-crdt-data"}]},{"group":"Live State","pages":[{"title":"Broadcast Event","api":"POST https://api.velt.dev/v2/livestate/broadcast","href":"/api-reference/rest-apis/v2/livestate/broadcast-event"}]},{"group":"Presence","pages":[{"title":"Add Presence","api":"POST https://api.velt.dev/v2/presence/add","href":"/api-reference/rest-apis/v2/presence/add-presence"},{"title":"Update Presence","api":"POST https://api.velt.dev/v2/presence/update","href":"/api-reference/rest-apis/v2/presence/update-presence"},{"title":"Delete Presence","api":"POST https://api.velt.dev/v2/presence/delete","href":"/api-reference/rest-apis/v2/presence/delete-presence"}]},{"group":"Rewriter","pages":[{"title":"Ask AI","api":"POST https://api.velt.dev/v2/rewriter/ask-ai","href":"/api-reference/rest-apis/v2/rewriter/ask-ai"}]},{"group":"Review Workflow Builder","pages":[{"group":"Definitions","pages":[{"title":"Create Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/create","href":"/api-reference/rest-apis/v2/approval-engine/definitions/create-definition"},{"title":"Update Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/update","href":"/api-reference/rest-apis/v2/approval-engine/definitions/update-definition"},{"title":"Delete Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/delete","href":"/api-reference/rest-apis/v2/approval-engine/definitions/delete-definition"},{"title":"Get Definition","api":"POST https://api.velt.dev/v2/workflow/definitions/get","href":"/api-reference/rest-apis/v2/approval-engine/definitions/get-definition"},{"title":"List Definitions","api":"POST https://api.velt.dev/v2/workflow/definitions/list","href":"/api-reference/rest-apis/v2/approval-engine/definitions/list-definitions"}]},{"group":"Executions","pages":[{"title":"Dispatch Execution","api":"POST https://api.velt.dev/v2/workflow/executions/dispatch","href":"/api-reference/rest-apis/v2/approval-engine/executions/dispatch-execution"},{"title":"Get Execution","api":"POST https://api.velt.dev/v2/workflow/executions/get","href":"/api-reference/rest-apis/v2/approval-engine/executions/get-execution"},{"title":"Cancel Execution","api":"POST https://api.velt.dev/v2/workflow/executions/cancel","href":"/api-reference/rest-apis/v2/approval-engine/executions/cancel-execution"},{"title":"Get Execution Events","api":"POST https://api.velt.dev/v2/workflow/executions/getEvents","href":"/api-reference/rest-apis/v2/approval-engine/executions/get-execution-events"},{"title":"List Executions","api":"POST https://api.velt.dev/v2/workflow/executions/list","href":"/api-reference/rest-apis/v2/approval-engine/executions/list-executions"}]},{"group":"Steps","pages":[{"title":"Record Reviewer Decision","api":"POST https://api.velt.dev/v2/workflow/steps/recordReviewerDecision","href":"/api-reference/rest-apis/v2/approval-engine/steps/record-reviewer-decision"},{"title":"Record Agent Resolution","api":"POST https://api.velt.dev/v2/workflow/steps/recordAgentResolution","href":"/api-reference/rest-apis/v2/approval-engine/steps/record-agent-resolution"},{"title":"Cancel Step","api":"POST https://api.velt.dev/v2/workflow/steps/cancel","href":"/api-reference/rest-apis/v2/approval-engine/steps/cancel-step"},{"title":"Resolve Step","api":"POST https://api.velt.dev/v2/workflow/steps/resolve","href":"/api-reference/rest-apis/v2/approval-engine/steps/resolve-step"}]}]},{"group":"Agents","pages":[{"title":"Create Agent","api":"POST https://api.velt.dev/v2/agents/create","href":"/api-reference/rest-apis/v2/agents/create"},{"title":"Get Agent(s)","api":"POST https://api.velt.dev/v2/agents/get","href":"/api-reference/rest-apis/v2/agents/get"},{"title":"Update Agent (Identity)","api":"POST https://api.velt.dev/v2/agents/update","href":"/api-reference/rest-apis/v2/agents/update"},{"title":"Delete Agent","api":"POST https://api.velt.dev/v2/agents/delete","href":"/api-reference/rest-apis/v2/agents/delete"},{"title":"Extract Agents from File","api":"POST https://api.velt.dev/v2/agents/extract","href":"/api-reference/rest-apis/v2/agents/extract"},{"group":"Versioning","pages":[{"title":"Update Agent Version","api":"POST https://api.velt.dev/v2/agents/version/update","href":"/api-reference/rest-apis/v2/agents/version/update"},{"title":"List Agent Versions","api":"POST https://api.velt.dev/v2/agents/versions/list","href":"/api-reference/rest-apis/v2/agents/versions/list"},{"title":"Restore Agent Version","api":"POST https://api.velt.dev/v2/agents/versions/restore","href":"/api-reference/rest-apis/v2/agents/versions/restore"}]},{"group":"Execution","pages":[{"title":"Run Execution","api":"POST https://api.velt.dev/v2/agents/execution/run","href":"/api-reference/rest-apis/v2/agents/execution/run"},{"title":"Get Execution","api":"POST https://api.velt.dev/v2/agents/execution/get","href":"/api-reference/rest-apis/v2/agents/execution/get"},{"title":"List Executions","api":"POST https://api.velt.dev/v2/agents/execution/list","href":"/api-reference/rest-apis/v2/agents/execution/list"},{"title":"Count Executions","api":"POST https://api.velt.dev/v2/agents/execution/count","href":"/api-reference/rest-apis/v2/agents/execution/count"}]},{"group":"Fix It Everywhere","pages":[{"title":"Estimate Fix It Everywhere","api":"POST https://api.velt.dev/v2/agents/fix-it-everywhere/estimate","href":"/api-reference/rest-apis/v2/agents/fix-it-everywhere/estimate"}]},{"group":"Prompt","pages":[{"title":"Enhance Prompt","api":"POST https://api.velt.dev/v2/agents/prompt/enhance","href":"/api-reference/rest-apis/v2/agents/prompt/enhance"},{"title":"Validate Prompt","api":"POST https://api.velt.dev/v2/agents/prompt/validate","href":"/api-reference/rest-apis/v2/agents/prompt/validate"},{"title":"Refine Prompt","api":"POST https://api.velt.dev/v2/agents/prompt/refine","href":"/api-reference/rest-apis/v2/agents/prompt/refine"}]},{"group":"Config","pages":[{"title":"Resolve Config","api":"POST https://api.velt.dev/v2/agents/config/resolve","href":"/api-reference/rest-apis/v2/agents/config/resolve"}]},{"group":"Analytics","pages":[{"title":"Get Agent Analytics","api":"POST https://api.velt.dev/v2/agents/analytics/get","href":"/api-reference/rest-apis/v2/agents/analytics/get"}]},{"group":"Groups","pages":[{"title":"Create Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/create","href":"/api-reference/rest-apis/v2/agents/groups/create"},{"title":"Get Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/get","href":"/api-reference/rest-apis/v2/agents/groups/get"},{"title":"List Agent Groups","api":"POST https://api.velt.dev/v2/agents/groups/list","href":"/api-reference/rest-apis/v2/agents/groups/list"},{"title":"Update Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/update","href":"/api-reference/rest-apis/v2/agents/groups/update"},{"title":"Delete Agent Group","api":"POST https://api.velt.dev/v2/agents/groups/delete","href":"/api-reference/rest-apis/v2/agents/groups/delete"},{"title":"Add Agents to Group","api":"POST https://api.velt.dev/v2/agents/groups/add-agents","href":"/api-reference/rest-apis/v2/agents/groups/add-agents"},{"title":"Remove Agents from Group","api":"POST https://api.velt.dev/v2/agents/groups/remove-agents","href":"/api-reference/rest-apis/v2/agents/groups/remove-agents"}]},{"group":"Checks","pages":[{"title":"Checks Overview","href":"/api-reference/rest-apis/v2/agents/checks/overview"},{"title":"List Checks","api":"POST https://api.velt.dev/v2/agents/checks/list","href":"/api-reference/rest-apis/v2/agents/checks/list"},{"title":"List Check Comments","api":"POST https://api.velt.dev/v2/agents/checks/comments/list","href":"/api-reference/rest-apis/v2/agents/checks/comments/list"},{"title":"Get Site Score","api":"POST https://api.velt.dev/v2/agents/checks/score/get","href":"/api-reference/rest-apis/v2/agents/checks/score/get"},{"title":"Get Capture Focus","api":"POST https://api.velt.dev/v2/agents/checks/capture-focus/get","href":"/api-reference/rest-apis/v2/agents/checks/capture-focus/get"},{"title":"Get Source Location","api":"POST https://api.velt.dev/v2/agents/checks/source-location/get","href":"/api-reference/rest-apis/v2/agents/checks/source-location/get"},{"title":"Resolve Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/resolve","href":"/api-reference/rest-apis/v2/agents/checks/comments/resolve"},{"title":"Resolve Check","api":"POST https://api.velt.dev/v2/agents/checks/resolve","href":"/api-reference/rest-apis/v2/agents/checks/resolve"},{"title":"Reject Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/reject","href":"/api-reference/rest-apis/v2/agents/checks/comments/reject"},{"title":"Reopen Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/reopen","href":"/api-reference/rest-apis/v2/agents/checks/comments/reopen"},{"title":"Exclude Check","api":"POST https://api.velt.dev/v2/agents/checks/exclude","href":"/api-reference/rest-apis/v2/agents/checks/exclude"},{"title":"Include Check","api":"POST https://api.velt.dev/v2/agents/checks/include","href":"/api-reference/rest-apis/v2/agents/checks/include"},{"title":"Set Check Owner","api":"POST https://api.velt.dev/v2/agents/checks/owner/set","href":"/api-reference/rest-apis/v2/agents/checks/owner/set"},{"title":"Get Check Settings","api":"POST https://api.velt.dev/v2/agents/checks/settings/get","href":"/api-reference/rest-apis/v2/agents/checks/settings/get"},{"title":"Update Check Settings","api":"POST https://api.velt.dev/v2/agents/checks/settings/update","href":"/api-reference/rest-apis/v2/agents/checks/settings/update"},{"title":"Attach Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/attach","href":"/api-reference/rest-apis/v2/agents/checks/comments/attach"},{"title":"Detach Comment","api":"POST https://api.velt.dev/v2/agents/checks/comments/detach","href":"/api-reference/rest-apis/v2/agents/checks/comments/detach"},{"title":"List Rescan Agents","api":"POST https://api.velt.dev/v2/agents/checks/rescan-agents/list","href":"/api-reference/rest-apis/v2/agents/checks/rescan-agents/list"}]}]},{"group":"Memory","pages":[{"group":"Search and Ask","pages":[{"title":"Search Judgments","api":"POST https://api.velt.dev/v2/memory/search","href":"/api-reference/rest-apis/v2/memory/search"},{"title":"Ask Memory","api":"POST https://api.velt.dev/v2/memory/ask","href":"/api-reference/rest-apis/v2/memory/ask"},{"title":"Suggest Decision","api":"POST https://api.velt.dev/v2/memory/suggest","href":"/api-reference/rest-apis/v2/memory/suggest"},{"title":"Query Judgments","api":"POST https://api.velt.dev/v2/memory/judgments/query","href":"/api-reference/rest-apis/v2/memory/judgments/query"}]},{"group":"Knowledge","pages":[{"title":"Ingest Knowledge","api":"POST https://api.velt.dev/v2/memory/knowledge/ingest","href":"/api-reference/rest-apis/v2/memory/knowledge/ingest"},{"title":"Get Ingest Status","api":"POST https://api.velt.dev/v2/memory/knowledge/ingest-status","href":"/api-reference/rest-apis/v2/memory/knowledge/ingest-status"},{"title":"Get Upload URL","api":"POST https://api.velt.dev/v2/memory/knowledge/upload-url","href":"/api-reference/rest-apis/v2/memory/knowledge/upload-url"},{"title":"Search Knowledge Base","api":"POST https://api.velt.dev/v2/memory/knowledge/search","href":"/api-reference/rest-apis/v2/memory/knowledge/search"},{"title":"List Knowledge Sources","api":"POST https://api.velt.dev/v2/memory/knowledge/list","href":"/api-reference/rest-apis/v2/memory/knowledge/list"},{"title":"List Extracted Rules","api":"POST https://api.velt.dev/v2/memory/knowledge/rules","href":"/api-reference/rest-apis/v2/memory/knowledge/rules"},{"title":"Update Knowledge","api":"POST https://api.velt.dev/v2/memory/knowledge/update","href":"/api-reference/rest-apis/v2/memory/knowledge/update"},{"title":"Download Canonical Markdown","api":"POST https://api.velt.dev/v2/memory/knowledge/download","href":"/api-reference/rest-apis/v2/memory/knowledge/download"},{"title":"Delete Knowledge","api":"POST https://api.velt.dev/v2/memory/knowledge/delete","href":"/api-reference/rest-apis/v2/memory/knowledge/delete"}]},{"group":"Insights","pages":[{"title":"Get Reviewer Profile","api":"POST https://api.velt.dev/v2/memory/profiles/get","href":"/api-reference/rest-apis/v2/memory/profiles/get"},{"title":"Get Patterns","api":"POST https://api.velt.dev/v2/memory/patterns/get","href":"/api-reference/rest-apis/v2/memory/patterns/get"},{"title":"Get Stats","api":"POST https://api.velt.dev/v2/memory/stats/get","href":"/api-reference/rest-apis/v2/memory/stats/get"}]},{"group":"Alerts","pages":[{"title":"List Alerts","api":"POST https://api.velt.dev/v2/memory/alerts/list","href":"/api-reference/rest-apis/v2/memory/alerts/list"},{"title":"Dismiss Alert","api":"POST https://api.velt.dev/v2/memory/alerts/dismiss","href":"/api-reference/rest-apis/v2/memory/alerts/dismiss"},{"title":"Mark Alert Actioned","api":"POST https://api.velt.dev/v2/memory/alerts/action","href":"/api-reference/rest-apis/v2/memory/alerts/action"},{"title":"Get Alert Config","api":"POST https://api.velt.dev/v2/memory/alerts/config/get","href":"/api-reference/rest-apis/v2/memory/alerts/config/get"},{"title":"Update Alert Config","api":"POST https://api.velt.dev/v2/memory/alerts/config/update","href":"/api-reference/rest-apis/v2/memory/alerts/config/update"}]}]},{"group":"Workspace","pages":[{"group":"Account Creation and Verification","pages":[{"title":"Create Workspace","api":"POST https://api.velt.dev/v2/workspace/create","href":"/api-reference/rest-apis/v2/workspace/create"},{"title":"Get Workspace","api":"POST https://api.velt.dev/v2/workspace/get","href":"/api-reference/rest-apis/v2/workspace/get"},{"title":"Get Email Verification Status","api":"POST https://api.velt.dev/v2/workspace/email/status","href":"/api-reference/rest-apis/v2/workspace/email-status"},{"title":"Send Login Link","api":"POST https://api.velt.dev/v2/workspace/email/send-login-link","href":"/api-reference/rest-apis/v2/workspace/send-login-link"}]},{"group":"API Key Management","pages":[{"title":"Create API Key","api":"POST https://api.velt.dev/v2/workspace/apikey/create","href":"/api-reference/rest-apis/v2/workspace/apikey-create"},{"title":"Get API Keys","api":"POST https://api.velt.dev/v2/workspace/apikeys/get","href":"/api-reference/rest-apis/v2/workspace/apikeys-get"},{"title":"Update API Key","api":"POST https://api.velt.dev/v2/workspace/apikey/update","href":"/api-reference/rest-apis/v2/workspace/apikey-update"}]},{"group":"API Key Configuration","pages":[{"title":"Get API Key Config","api":"POST https://api.velt.dev/v2/workspace/apikeyconfig/get","href":"/api-reference/rest-apis/v2/workspace/apikeyconfig-get"},{"title":"Update API Key Config","api":"POST https://api.velt.dev/v2/workspace/apikeyconfig/update","href":"/api-reference/rest-apis/v2/workspace/apikeyconfig-update"}]},{"group":"Auth Tokens","pages":[{"title":"Get Auth Tokens","api":"POST https://api.velt.dev/v2/workspace/authtokens/get","href":"/api-reference/rest-apis/v2/workspace/authtokens-get"},{"title":"Reset Auth Token","api":"POST https://api.velt.dev/v2/workspace/authtoken/reset","href":"/api-reference/rest-apis/v2/workspace/authtoken-reset"}]},{"group":"Manage Domains","pages":[{"title":"Add Domains","api":"POST https://api.velt.dev/v2/workspace/domains/add","href":"/api-reference/rest-apis/v2/workspace/add-domain"},{"title":"Delete Domains","api":"POST https://api.velt.dev/v2/workspace/domains/delete","href":"/api-reference/rest-apis/v2/workspace/delete-domain"},{"title":"Get Domains","api":"POST https://api.velt.dev/v2/workspace/domains/get","href":"/api-reference/rest-apis/v2/workspace/domains-get"}]},{"group":"Email Notifications Configuration","pages":[{"title":"Get Email Config","api":"POST https://api.velt.dev/v2/workspace/emailconfig/get","href":"/api-reference/rest-apis/v2/workspace/emailconfig-get"},{"title":"Update Email Config","api":"POST https://api.velt.dev/v2/workspace/emailconfig/update","href":"/api-reference/rest-apis/v2/workspace/emailconfig-update"}]},{"group":"Basic Webhooks","pages":[{"title":"Get Webhook Config","api":"POST https://api.velt.dev/v2/workspace/webhookconfig/get","href":"/api-reference/rest-apis/v2/workspace/webhookconfig-get"},{"title":"Update Webhook Config","api":"POST https://api.velt.dev/v2/workspace/webhookconfig/update","href":"/api-reference/rest-apis/v2/workspace/webhookconfig-update"}]},{"group":"Advanced Webhooks","pages":[{"title":"Get Advanced Webhook Config","api":"POST https://api.velt.dev/v2/workspace/advancedwebhookconfig/get","href":"/api-reference/rest-apis/v2/workspace/advancedwebhookconfig-get"},{"title":"Update Advanced Webhook Config","api":"POST https://api.velt.dev/v2/workspace/advancedwebhookconfig/update","href":"/api-reference/rest-apis/v2/workspace/advancedwebhookconfig-update"},{"title":"Create Advanced Webhook Endpoint","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/create","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-create"},{"title":"Get Advanced Webhook Endpoints","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/get","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-get"},{"title":"Update Advanced Webhook Endpoint","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/update","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-update"},{"title":"Delete Advanced Webhook Endpoint","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/delete","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-delete"},{"title":"Get Advanced Webhook Endpoint Secret","api":"POST https://api.velt.dev/v2/workspace/advancedwebhook/endpoints/secret/get","href":"/api-reference/rest-apis/v2/workspace/advancedwebhook-endpoints-secret-get"}]},{"group":"Activity Configuration","pages":[{"title":"Get Activity Config","api":"POST https://api.velt.dev/v2/workspace/activityconfig/get","href":"/api-reference/rest-apis/v2/workspace/activityconfig-get"},{"title":"Update Activity Config","api":"POST https://api.velt.dev/v2/workspace/activityconfig/update","href":"/api-reference/rest-apis/v2/workspace/activityconfig-update"}]},{"group":"Notification Configuration","pages":[{"title":"Get Notification Config","api":"POST https://api.velt.dev/v2/workspace/notificationconfig/get","href":"/api-reference/rest-apis/v2/workspace/notificationconfig-get"},{"title":"Update Notification Config","api":"POST https://api.velt.dev/v2/workspace/notificationconfig/update","href":"/api-reference/rest-apis/v2/workspace/notificationconfig-update"}]},{"group":"Permission Provider Configuration","pages":[{"title":"Get Permission Provider Config","api":"POST https://api.velt.dev/v2/workspace/permissionproviderconfig/get","href":"/api-reference/rest-apis/v2/workspace/permissionproviderconfig-get"},{"title":"Update Permission Provider Config","api":"POST https://api.velt.dev/v2/workspace/permissionproviderconfig/update","href":"/api-reference/rest-apis/v2/workspace/permissionproviderconfig-update"}]}]}]},{"group":"v1","pages":[{"group":"Organizations","pages":[{"title":"Add Organizations","api":"POST https://api.velt.dev/v1/organizations/add","href":"/api-reference/rest-apis/v1/organizations/add-organizations"},{"title":"Get Organizations","api":"POST https://api.velt.dev/v1/organizations/get","href":"/api-reference/rest-apis/v1/organizations/get-organizations"},{"title":"Update Organizations","api":"POST https://api.velt.dev/v1/organizations/update","href":"/api-reference/rest-apis/v1/organizations/update-organizations"},{"title":"Delete Organizations","api":"POST https://api.velt.dev/v1/organizations/delete","href":"/api-reference/rest-apis/v1/organizations/delete-organizations"},{"title":"Update Disabled State for Organizations","api":"POST https://api.velt.dev/v1/organizations/access/disablestate/update","href":"/api-reference/rest-apis/v1/organizations/update-organization-disable-state"}]},{"group":"Folders","pages":[{"title":"Add Folder","api":"POST https://api.velt.dev/v1/organizations/folders/add","href":"/api-reference/rest-apis/v1/folders/add-folder"},{"title":"Get Folders","api":"POST https://api.velt.dev/v1/organizations/folders/get","href":"/api-reference/rest-apis/v1/folders/get-folders"},{"title":"Update Folder","api":"POST https://api.velt.dev/v1/organizations/folders/update","href":"/api-reference/rest-apis/v1/folders/update-folder"},{"title":"Update Access for Folders","api":"POST https://api.velt.dev/v1/organizations/folders/access/update","href":"/api-reference/rest-apis/v1/folders/update-folder-access"}]},{"group":"Documents","pages":[{"title":"Add Documents","api":"POST https://api.velt.dev/v1/organizations/documents/add","href":"/api-reference/rest-apis/v1/documents/add-documents"},{"title":"Get Documents","api":"POST https://api.velt.dev/v1/organizations/documents/get","href":"/api-reference/rest-apis/v1/documents/get-documents"},{"title":"Update Documents","api":"POST https://api.velt.dev/v1/organizations/documents/update","href":"/api-reference/rest-apis/v1/documents/update-documents"},{"title":"Delete Documents","api":"POST https://api.velt.dev/v1/organizations/documents/delete","href":"/api-reference/rest-apis/v1/documents/delete-documents"},{"title":"Move Documents","api":"POST https://api.velt.dev/v1/organizations/documents/move","href":"/api-reference/rest-apis/v1/documents/move-documents"},{"title":"Update Access for Documents","api":"POST https://api.velt.dev/v1/organizations/documents/access/update","href":"/api-reference/rest-apis/v1/documents/update-document-access"},{"title":"Update Disabled State for Documents","api":"POST https://api.velt.dev/v1/organizations/documents/access/disablestate/update","href":"/api-reference/rest-apis/v1/documents/update-document-disable-state"}]},{"group":"Users","pages":[{"title":"Add Users","api":"POST https://api.velt.dev/v1/users/add","href":"/api-reference/rest-apis/v1/users/add-users"},{"title":"Get Users","api":"POST https://api.velt.dev/v1/users/get","href":"/api-reference/rest-apis/v1/users/get-users"},{"title":"Update Users","api":"POST https://api.velt.dev/v1/users/update","href":"/api-reference/rest-apis/v1/users/update-users"},{"title":"Delete Users","api":"POST https://api.velt.dev/v1/users/delete","href":"/api-reference/rest-apis/v1/users/delete-users"}]},{"group":"User Groups","pages":[{"title":"Add User Groups","api":"POST https://api.velt.dev/v1/organizations/usergroups/add","href":"/api-reference/rest-apis/v1/user-groups/add-groups"},{"title":"Add Users to Groups","api":"POST https://api.velt.dev/v1/organizations/usergroups/users/add","href":"/api-reference/rest-apis/v1/user-groups/add-users-to-group"},{"title":"Delete Users from Groups","api":"POST https://api.velt.dev/v1/organizations/usergroups/users/delete","href":"/api-reference/rest-apis/v1/user-groups/delete-users-from-group"}]},{"group":"Comments Feature","pages":[{"group":"Comments Annotations","pages":[{"title":"Add Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/add","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/add-comment-annotations"},{"title":"Get Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/get","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/get-comment-annotations"},{"title":"Update Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/update","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/update-comment-annotations"},{"title":"Delete Comment Annotations","api":"POST https://api.velt.dev/v1/commentannotations/delete","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/delete-comment-annotations"},{"title":"Get Comment Annotations Count","api":"POST https://api.velt.dev/v1/commentannotations/count/get","href":"/api-reference/rest-apis/v1/comments-feature/comment-annotations/get-comment-annotations-count"}]},{"group":"Comments","pages":[{"title":"Add Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/add","href":"/api-reference/rest-apis/v1/comments-feature/comments/add-comments"},{"title":"Get Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/get","href":"/api-reference/rest-apis/v1/comments-feature/comments/get-comments"},{"title":"Update Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/update","href":"/api-reference/rest-apis/v1/comments-feature/comments/update-comments"},{"title":"Delete Comments","api":"POST https://api.velt.dev/v1/commentannotations/comments/delete","href":"/api-reference/rest-apis/v1/comments-feature/comments/delete-comments"}]}]},{"group":"Notifications","pages":[{"title":"Add Notifications","api":"POST https://api.velt.dev/v1/notifications/add","href":"/api-reference/rest-apis/v1/notifications/add-notifications"},{"title":"Get Notifications","api":"POST https://api.velt.dev/v1/notifications/get","href":"/api-reference/rest-apis/v1/notifications/get-notifications"},{"title":"Update Notifications","api":"POST https://api.velt.dev/v1/notifications/update","href":"/api-reference/rest-apis/v1/notifications/update-notifications"},{"title":"Delete Notifications","api":"POST https://api.velt.dev/v1/notifications/delete","href":"/api-reference/rest-apis/v1/notifications/delete-notifications"},{"title":"Set Config","api":"POST https://api.velt.dev/v1/notifications/config/set","href":"/api-reference/rest-apis/v1/notifications/set-config"},{"title":"Get Config","api":"POST https://api.velt.dev/v1/notifications/config/get","href":"/api-reference/rest-apis/v1/notifications/get-config"}]},{"group":"Access Control","pages":[{"title":"Generate Token","api":"POST https://api.velt.dev/v1/auth/token/get","href":"/api-reference/rest-apis/v1/auth/generate-token"}]},{"group":"GDPR","pages":[{"title":"Get All User Data","api":"POST https://api.velt.dev/v1/users/data/get","href":"/api-reference/rest-apis/v1/gdpr/get-all-user-data-gdpr"},{"title":"Delete All User Data","api":"POST https://api.velt.dev/v1/users/data/delete","href":"/api-reference/rest-apis/v1/gdpr/delete-all-user-data-gdpr"},{"title":"Get Delete All User Data Status","api":"POST https://api.velt.dev/v1/users/data/delete/status","href":"/api-reference/rest-apis/v1/gdpr/get-delete-user-data-status-gdpr"}]},{"group":"Live State","pages":[{"title":"Broadcast Event","api":"POST https://api.velt.dev/v1/livestate/broadcast","href":"/api-reference/rest-apis/v1/livestate/broadcast-event"}]},{"group":"Workspace","pages":[{"title":"Add Domains","api":"POST https://api.velt.dev/v1/workspace/domains/add","href":"/api-reference/rest-apis/v1/workspace/add-domain"},{"title":"Delete Domains","api":"POST https://api.velt.dev/v1/workspace/domains/delete","href":"/api-reference/rest-apis/v1/workspace/delete-domain"}]}]}]},{"group":"SDK","pages":[{"group":"APIs","pages":[{"title":"API Methods Index","href":"/api-reference/sdk/api/api-methods"},{"title":"React Hooks Index","href":"/api-reference/sdk/api/react-hooks"}]},{"title":null,"href":"/api-reference/sdk/models/data-models"}]}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/version-6/sdk-changelog"}]},{"tab":"Examples","href":"https://velt.dev/examples"},{"tab":"DevTools","href":"https://velt.dev/devtools"}]},"basePath":"","title":"Add Comment Annotations - Velt","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-CNqlzjVB.js","utils-BqFiXZ79.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CnR4QBe6.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BY2ZM1OO.js","snippetPresets-x-8ACO8V.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ch-SJE05.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CqqG_0NE.js","shallow-BXrZ2b0C.js","getApiPlaygroundDisplay-n7J_wkjq.js","CodeSnippet-CQsp4vyQ.js","CodeSnippets-BfuHqvZx.js","Page-CTxrMSpo.js","getPastedJson-BjrGIK1i.js","icon-7iLZnVOC.js","MethodPill-TBS1m84e.js","DuplicateIcon-BNMrV4Vs.js","createIcon-C5kCqeU2.js","DynamicMarkdown-Bq09mRwR.js","SectionHeading-G4Bflf5Q.js","axios-vUo_bRtp.js"]}