---
title: "Patch an existing comment"
method: PATCH
path: "/api/workspaces/{workspaceId}/comments/{commentId}"
tags: ["CRUD", "Comments"]
---

# Patch an existing comment

`PATCH /api/workspaces/{workspaceId}/comments/{commentId}`

## Request

- Base URL: `https://app.airfocus.com`
- URL: `https://app.airfocus.com/api/workspaces/{workspaceId}/comments/{commentId}`
- Auth: HTTP bearer

Returns the whole updated comment with its sanitised data.<br/>Requirements:<br/>- auth-client scopes: "workspace:comment"<br/>- user permission: "comment" or higher

## Path parameters

- `workspaceId` string, uuid, required
- `commentId` string, uuid, required

## Query parameters

- `actAsAdmin` boolean

## Request body

- JsonPatchOperation[]: A JSON Patch document. See https://jsonpatch.com/ for more information.
  - union
    - JsonPatchAdd
      - `op` 'add', required
      - `path` string, required
      - `value` unknown, required
    - JsonPatchCopy
      - `from` string, required
      - `op` 'copy', required
      - `path` string, required
    - JsonPatchMove
      - `from` string, required
      - `op` 'move', required
      - `path` string, required
    - JsonPatchRemove
      - `old` unknown
      - `op` 'remove', required
      - `path` string, required
    - JsonPatchReplace
      - `old` unknown
      - `op` 'replace', required
      - `path` string, required
      - `value` unknown, required
    - JsonPatchTest
      - `op` 'test', required
      - `path` string, required
      - `value` unknown, required

## Response `200`

- ItemCommentWithItemCommentEmbed
  - `_embedded` ItemCommentEmbed, required
  - `content` RichText, required
    - `blocks` RichTextBlock[], required
      - union
        - RichTextBlockAttachment
          - `attachmentId` string, uuid, required
          - `caption` string
          - `contentType` string, required
          - `meta` object
          - `type` 'attachment', required
          - `width` integer
        - RichTextBlockBlockquote
          - `content` RichTextInline[], required
            - union
              - …
          - `meta` object
          - `type` 'blockquote', required
        - RichTextBlockCode
          - `content` string, required
          - `language` string
          - `meta` object
          - `type` 'code', required
        - RichTextBlockCustom
          - `id` string, required
          - `meta` object
          - `raw` string, required
          - `type` 'custom', required
        - RichTextBlockEmbed
          - `caption` string
          - `height` integer
          - `meta` object
          - `type` 'embed', required
          - `url` string, required
        - RichTextBlockHeadline
          - `content` RichTextInline[], required
            - union
              - …
          - `level` integer, required
          - `meta` object
          - `type` 'headline', required
        - RichTextBlockIndentation
          - `content` RichTextBlock[], required
          - `type` 'indentation', required
        - RichTextBlockList
          - `bulletListMarker` string
          - `items` RichTextListItem[], required
            - `content` RichTextBlock[], required
          - `meta` object
          - `ordered` boolean, required
          - `orderedListDelimiter` string
          - `orderedListStartsAt` integer
          - `type` 'list', required
        - RichTextBlockPanel
          - `colorHex` string
          - `content` RichTextBlock[], required
          - `title` string
          - `type` 'panel', required
        - RichTextBlockParagraph
          - `content` RichTextInline[], required
            - union
              - …
          - `meta` object
          - `type` 'paragraph', required
  - `createdAt` string, date-time, required
  - `id` string, uuid, required
  - `initiator` union, required
    - ActorAiActor
      - `actorType` union
        - 'assistant' | 'mcpServer'
        - string: An 'agent:' prefix followed by the specific agent type, e.g., 'agent:default:insights:create'
      - `id` string, uuid, required
      - `onBehalfOf` Actor, required (recursive)
      - `type` 'aiActor', required
    - ActorApp
      - `id` string, uuid, required
      - `onBehalfOf` Actor (recursive)
      - `type` 'app', required
      - `typeId` string
    - ActorIntegration
      - `id` string, uuid, required
      - `onBehalfOf` Actor (recursive)
      - `type` 'integration', required
      - `typeId` string
    - ActorShareLink
      - `type` 'shareLink', required
    - ActorSystem
      - `type` 'system', required
    - ActorUser
      - `id` string, uuid, required
      - `type` 'user', required
  - `itemId` string, uuid, required
  - `lastUpdatedAt` string, date-time, required
  - `reactions` CommentReaction[], required
    - `emoji` string, required
    - `userIds` string[], required

## Other responses

- `400`: If path parameters are invalid or payload is invalid or resource does not exist.
- `401`: If missing authentication token.
- `403`: If user does not have the required permission, or authenticated client does not have the required access scopes.
- `default`: If any other error happens.

---

[API](https://skmtc.dev/airfocus/apis/airfocus-api.md) · [All operations](https://skmtc.dev/airfocus/apis/airfocus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/airfocus/apis/airfocus-api/revisions/fc9ccaa2ec6d?raw)
