---
title: "Retrieve a comment"
method: POST
path: "/comments.info"
tags: ["Comments"]
---

# Retrieve a comment

`POST /comments.info`

## Request

- Base URL: `https://app.getoutline.com/api`
- URL: `https://app.getoutline.com/api/comments.info`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://app.getoutline.com/oauth/authorize`
    - Token URL: `https://app.getoutline.com/oauth/token` scopes: `read`, `write`

Retrieve a comment

## Request body

- object
  - `id` string, uuid, required
  - `includeAnchorText` boolean: Include the document text that the comment is anchored to, if any, in the response.

## Response `200`

OK

- object
  - `data` Comment
    - `id` string, uuid: Unique identifier for the object.
    - `data` object: The editor data representing this comment.
    - `documentId` string, uuid: Identifier for the document this is related to.
    - `parentCommentId` string, uuid: Identifier for the comment this is a child of, if any.
    - `createdAt` string, date-time: The date and time that this object was created
    - `createdBy` User
      - `id` string, uuid: Unique identifier for the object.
      - `name` string: The name of this user, it is migrated from Slack or Google Workspace when the SSO connection is made but can be changed if necessary.
      - `avatarUrl` string, uri: The URL for the image associated with this user, it will be displayed in the application UI and email notifications.
      - `color` string: A color representing the user, used in the UI for avatars without an image.
      - `email` string, email: The email associated with this user, it is migrated from Slack or Google Workspace when the SSO connection is made but can be changed if necessary.
      - `role` 'admin' | 'member' | 'viewer' | 'guest'
      - `isSuspended` boolean: Whether this user has been suspended.
      - `lastActiveAt` string, date-time, nullable: The last time this user made an API request, this value is updated at most every 5 minutes.
      - `timezone` string, nullable: The timezone this user has registered.
      - `createdAt` string, date-time: The date and time that this user first signed in or was invited as a guest.
      - `updatedAt` string, date-time: The date and time that this user was last updated.
      - `deletedAt` string, date-time, nullable: The date and time that this user was deleted, if applicable.
      - `invitedBy` User (recursive)
    - `createdById` string, uuid: Identifier for the user who created this comment.
    - `updatedAt` string, date-time: The date and time that this object was last changed
    - `resolvedAt` string, date-time, nullable: The date and time that this comment was resolved, if it has been.
    - `resolvedBy` object, nullable
      - `id` string, uuid: Unique identifier for the object.
      - `name` string: The name of this user, it is migrated from Slack or Google Workspace when the SSO connection is made but can be changed if necessary.
      - `avatarUrl` string, uri: The URL for the image associated with this user, it will be displayed in the application UI and email notifications.
      - `color` string: A color representing the user, used in the UI for avatars without an image.
      - `email` string, email: The email associated with this user, it is migrated from Slack or Google Workspace when the SSO connection is made but can be changed if necessary.
      - `role` 'admin' | 'member' | 'viewer' | 'guest'
      - `isSuspended` boolean: Whether this user has been suspended.
      - `lastActiveAt` string, date-time, nullable: The last time this user made an API request, this value is updated at most every 5 minutes.
      - `timezone` string, nullable: The timezone this user has registered.
      - `createdAt` string, date-time: The date and time that this user first signed in or was invited as a guest.
      - `updatedAt` string, date-time: The date and time that this user was last updated.
      - `deletedAt` string, date-time, nullable: The date and time that this user was deleted, if applicable.
      - `invitedBy` User
        - `id` string, uuid: Unique identifier for the object.
        - `name` string: The name of this user, it is migrated from Slack or Google Workspace when the SSO connection is made but can be changed if necessary.
        - `avatarUrl` string, uri: The URL for the image associated with this user, it will be displayed in the application UI and email notifications.
        - `color` string: A color representing the user, used in the UI for avatars without an image.
        - `email` string, email: The email associated with this user, it is migrated from Slack or Google Workspace when the SSO connection is made but can be changed if necessary.
        - `role` 'admin' | 'member' | 'viewer' | 'guest'
        - `isSuspended` boolean: Whether this user has been suspended.
        - `lastActiveAt` string, date-time, nullable: The last time this user made an API request, this value is updated at most every 5 minutes.
        - `timezone` string, nullable: The timezone this user has registered.
        - `createdAt` string, date-time: The date and time that this user first signed in or was invited as a guest.
        - `updatedAt` string, date-time: The date and time that this user was last updated.
        - `deletedAt` string, date-time, nullable: The date and time that this user was deleted, if applicable.
        - `invitedBy` User (recursive)
    - `resolvedById` string, uuid, nullable: Identifier for the user who resolved this comment, if any.
    - `reactions` object[]: List of emoji reactions on this comment.
    - `anchorText` string: The document text that the comment is anchored to, only included if includeAnchorText=true.
  - `policies` Policy[]
    - `id` string, uuid: Unique identifier for the object this policy references.
    - `abilities` object: The abilities that are allowed by this policy, if an array is returned then the individual ID's in the array represent the memberships that grant the ability.

## Other responses

- `401`: The API key is missing or otherwise invalid.
- `403`: The current API key is not authorized to perform this action.
- `404`: The specified resource was not found.
- `429`: The request was rate limited.

## Changes

- **2026-08-12** `9a99ee93e11d`: 2 info
  - added the optional property `data/createdBy/invitedBy` to the response with the `200` status
  - added the optional property `data/resolvedBy/allOf[#/components/schemas/User]/invitedBy` to the response with the `200` status
- **2026-05-30** `304cd065561b`: 1 breaking, 1 warning, 9 info
  - the response property `data/createdBy/lastActiveAt` became nullable for the status `200`
  - removed the optional property `data/updatedBy` from the response with the `200` status
  - added the optional property `data/createdBy/color` to the response with the `200` status
  - added the optional property `data/createdBy/deletedAt` to the response with the `200` status
  - …7 more
- **2026-02-01** `2b998aa571f9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/defaulr/apis/outline-api/changes/comments.info/post.md)

---

[API](https://skmtc.dev/defaulr/apis/outline-api.md) - [All operations](https://skmtc.dev/defaulr/apis/outline-api/llms.txt) - [OpenAPI document](https://skmtc.dev/defaulr/apis/outline-api/revisions/5ddf01ffba84?raw)
