---
title: "Create a comment"
method: POST
path: "/v2/comments"
tags: ["Comments"]
---

# Create a comment

`POST /v2/comments`

Creates a new comment related to an existing thread, record or entry.

To create comments on records, you will need the `object_configuration:read` and `record_permission:read` scopes.

To create comments on list entries, you will need the `list_configuration:read` and `list_entry:read` scopes.

Required scopes: `comment:read-write`.

## Request body

- object
  - `data` union, required
    - object
      - `format` 'plaintext', required — The format that the comment content is provided in. The `plaintext` format uses the line feed character `\n` to create new lines within the note content. Rich text formatting and links are not supported.
      - `content` string, required — The content of the comment itself. Workspace members can be mentioned using their email address, otherwise email addresses will be presented to users as clickable mailto links.
      - `author` object, required — The workspace member who wrote this comment. Note that other types of actors are not currently supported.
        - `type` 'workspace-member', required
        - `id` string, uuid, required
      - `created_at` string — `created_at` will default to the current time. However, if you wish to backdate a comment for migration or other purposes, you can override with a custom `created_at` value. Note that dates before 1970 or in the future are not allowed.
      - `thread_id` string, uuid, required — If responding to an existing thread, this would be the ID of that thread.
    - object
      - `format` 'plaintext', required — The format that the comment content is provided in. The `plaintext` format uses the line feed character `\n` to create new lines within the note content. Rich text formatting and links are not supported.
      - `content` string, required — The content of the comment itself. Workspace members can be mentioned using their email address, otherwise email addresses will be presented to users as clickable mailto links.
      - `author` object, required — The workspace member who wrote this comment. Note that other types of actors are not currently supported.
        - `type` 'workspace-member', required
        - `id` string, uuid, required
      - `created_at` string — `created_at` will default to the current time. However, if you wish to backdate a comment for migration or other purposes, you can override with a custom `created_at` value. Note that dates before 1970 or in the future are not allowed.
      - `record` object, required
        - `object` string, required — If creating a top-level comment on a record, this is the slug or ID of that object.
        - `record_id` string, uuid, required — If creating a top-level comment on a record, this is the ID of that record.
    - object
      - `format` 'plaintext', required — The format that the comment content is provided in. The `plaintext` format uses the line feed character `\n` to create new lines within the note content. Rich text formatting and links are not supported.
      - `content` string, required — The content of the comment itself. Workspace members can be mentioned using their email address, otherwise email addresses will be presented to users as clickable mailto links.
      - `author` object, required — The workspace member who wrote this comment. Note that other types of actors are not currently supported.
        - `type` 'workspace-member', required
        - `id` string, uuid, required
      - `created_at` string — `created_at` will default to the current time. However, if you wish to backdate a comment for migration or other purposes, you can override with a custom `created_at` value. Note that dates before 1970 or in the future are not allowed.
      - `entry` object, required
        - `list` string, required — If creating a top-level comment on a list entry, this is the slug or ID of that list.
        - `entry_id` string, required — If creating a top-level comment on a list entry, this is the ID of that entry.

## Response `200`

Success

- object — Success
  - `data` Comment, required
    - `id` object, required
      - `workspace_id` string, uuid, required — The ID of the workspace the comment belongs to.
      - `comment_id` string, uuid, required — The ID of the comment.
    - `thread_id` string, uuid, required — The ID of the thread the comment belongs to.
    - `content_plaintext` string, required — A plaintext representation of the content of the comment. References to workspace members are cast into email addresses, all other stylistic elements are removed.
    - `entry` object, nullable, required — The entry the comment belongs to, `null` for comments on records.
      - `entry_id` string, uuid, required — The ID of the entry the comment belongs to.
      - `list_id` string, uuid, required — The ID of the list the entry belongs to.
    - `record` object, required — The record the comment belongs to.
      - `record_id` string, uuid, required — The ID of the record the comment belongs to.
      - `object_id` string, uuid, required — The ID of the object the record belongs to.
    - `resolved_at` string, nullable, required — Whether the comment is resolved.
    - `resolved_by` object, required — The actor that resolved this comment.
      - `id` string, nullable — An ID to identify the actor.
      - `type` 'api-token' | 'workspace-member' | 'system' | 'app', nullable — The type of actor. [Read more information on actor types here](/docs/actors).
    - `created_at` string, required — When the note was created.
    - `author` object, required — Who wrote this comment. Note that the API provides the ability for API tokens to write comments on behalf of other actors.
      - `id` string, nullable — An ID to identify the actor.
      - `type` 'api-token' | 'workspace-member' | 'system' | 'app', nullable — The type of actor. [Read more information on actor types here](/docs/actors).

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/d-stoll/apis/attio-api.md) · [All operations](https://skmtc.net/d-stoll/apis/attio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/d-stoll/attio-api/revisions/ebcf9b5c6aa3/schema)
