---
title: "Retrieve or search comments"
method: POST
path: "/api/workspaces/{workspaceId}/comments/search"
tags: ["CRUD", "Comments"]
---

# Retrieve or search comments

`POST /api/workspaces/{workspaceId}/comments/search`

## Request

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

Returns all comments or searches comments by query. Always returns only comments which are accessible by the current user.<br/>Requirements:<br/>- auth-client scopes: "workspace:read"<br/>- user permission: "read" or higher

## Path parameters

- `workspaceId` string, uuid, required

## Query parameters

- `actAsAdmin` boolean
- `offset` integer
- `limit` integer
- `from` integer
- `to` integer

## Request body

- ItemCommentSearchQuery
  - `itemId` string, uuid

## Response `200`

- ItemCommentWithItemCommentEmbedPage
  - `items` ItemCommentWithItemCommentEmbed[], required
    - `_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
              - …
            - `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
              - …
            - `level` integer, required
            - `meta` object
            - `type` 'headline', required
          - RichTextBlockIndentation
            - `content` RichTextBlock[], required
            - `type` 'indentation', required
          - RichTextBlockList
            - `bulletListMarker` string
            - `items` RichTextListItem[], 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
              - …
            - `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
  - `totalItems` integer, required

## Other responses

- `400`: If payload is invalid.
- `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)
