---
title: "Retrieve multiple comments by their IDs"
method: POST
path: "/api/workspaces/{workspaceId}/comments/list"
tags: ["CRUD", "Comments"]
---

# Retrieve multiple comments by their IDs

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

## Request

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

Returns a list of comments resolved for the provided IDs.<br/>
Guarantees that the array-size and order of the returned comments matches the order of requested IDs.<br/>
Does not fail if any of the requested comments is not found or not accessible - instead it returns null as an array-element of the corresponding comment which could not be accessed.<br/>Requirements:<br/>- auth-client scopes: "workspace:read"<br/>- user permission: "read" or higher

## Path parameters

- `workspaceId` string, uuid, required

## Query parameters

- `actAsAdmin` boolean

## Request body

- string[]

## 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 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)
