---
title: "Create a card comment"
method: POST
path: "/api/v1/cards/{cardId}/comments"
tags: ["Card Comments"]
---

# Create a card comment

`POST /api/v1/cards/{cardId}/comments`

Comment content is required

## Path parameters

- `cardId` string, required

## Request body

- CardComment
  - `id` string — ID of the comment
  - `totalReplies` integer — Number of total replies on the comment
  - `replies` CardCommentReply[] — The most recent replies to the comment. If the totalReplies property is greater than the number of replies in this list, additional replies can be found through the Get Replies endpoint.
    - `id` string — ID of the comment reply
    - `content` string, required — Comment content (max length: 2500 characters)
    - `owner` User
      - `id` string — The identifier of this User
      - `profilePicUrl` string — The profile picture url for the user
      - `joinedDate` string, date-time
      - `userProfile` UserProfile — Specifies additional information about a Guru User
        - `roleLevel` string — The level at which the user operates in their current role
        - `useCaseList` UseCase[] — Describes different ways the user intends to use Guru
          - `description` string — A description of this use case
        - `role` string — The functional role a Guru user performs on their team
      - `lastName` string, required — The user's last name
      - `firstName` string, required — The user's first name
      - `status` 'ACTIVE' | 'PENDING' — The status of a User can be ACTIVE or PENDING. The User must verify their email address to be considered ACTIVE.
      - `email` string, required — The user's email address
    - `lastModified` string, date-time — Date the comment was last modified. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000
    - `reactions` ReactionDetail[]
      - `count` integer
      - `shortcode` string
      - `firstReactionAt` string, date-time
      - `currentUserReactionId` string
    - `deleted` boolean — Indicates if the comment has been deleted
    - `dateCreated` string, date-time — Date the comment was created. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000
  - `extraDetailsModel` ExtraDetailsModel
    - `type` 'announcement', required
    - `announcementId` string, uuid
  - `status` 'OPEN' | 'RESOLVED' — Status of the comment
  - `content` string, required — Comment content (max length: 2500 characters)
  - `owner` User
    - `id` string — The identifier of this User
    - `profilePicUrl` string — The profile picture url for the user
    - `joinedDate` string, date-time
    - `userProfile` UserProfile — Specifies additional information about a Guru User
      - `roleLevel` string — The level at which the user operates in their current role
      - `useCaseList` UseCase[] — Describes different ways the user intends to use Guru
        - `description` string — A description of this use case
      - `role` string — The functional role a Guru user performs on their team
    - `lastName` string, required — The user's last name
    - `firstName` string, required — The user's first name
    - `status` 'ACTIVE' | 'PENDING' — The status of a User can be ACTIVE or PENDING. The User must verify their email address to be considered ACTIVE.
    - `email` string, required — The user's email address
  - `lastModified` string, date-time — Date the comment was last modified. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000
  - `reactions` ReactionDetail[]
    - `count` integer
    - `shortcode` string
    - `firstReactionAt` string, date-time
    - `currentUserReactionId` string
  - `deleted` boolean — Indicates if the comment has been deleted
  - `dateCreated` string, date-time — Date the comment was created. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000

## Response `200`

successful operation

- CardComment
  - `id` string — ID of the comment
  - `totalReplies` integer — Number of total replies on the comment
  - `replies` CardCommentReply[] — The most recent replies to the comment. If the totalReplies property is greater than the number of replies in this list, additional replies can be found through the Get Replies endpoint.
    - `id` string — ID of the comment reply
    - `content` string, required — Comment content (max length: 2500 characters)
    - `owner` User
      - `id` string — The identifier of this User
      - `profilePicUrl` string — The profile picture url for the user
      - `joinedDate` string, date-time
      - `userProfile` UserProfile — Specifies additional information about a Guru User
        - `roleLevel` string — The level at which the user operates in their current role
        - `useCaseList` UseCase[] — Describes different ways the user intends to use Guru
          - `description` string — A description of this use case
        - `role` string — The functional role a Guru user performs on their team
      - `lastName` string, required — The user's last name
      - `firstName` string, required — The user's first name
      - `status` 'ACTIVE' | 'PENDING' — The status of a User can be ACTIVE or PENDING. The User must verify their email address to be considered ACTIVE.
      - `email` string, required — The user's email address
    - `lastModified` string, date-time — Date the comment was last modified. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000
    - `reactions` ReactionDetail[]
      - `count` integer
      - `shortcode` string
      - `firstReactionAt` string, date-time
      - `currentUserReactionId` string
    - `deleted` boolean — Indicates if the comment has been deleted
    - `dateCreated` string, date-time — Date the comment was created. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000
  - `extraDetailsModel` ExtraDetailsModel
    - `type` 'announcement', required
    - `announcementId` string, uuid
  - `status` 'OPEN' | 'RESOLVED' — Status of the comment
  - `content` string, required — Comment content (max length: 2500 characters)
  - `owner` User
    - `id` string — The identifier of this User
    - `profilePicUrl` string — The profile picture url for the user
    - `joinedDate` string, date-time
    - `userProfile` UserProfile — Specifies additional information about a Guru User
      - `roleLevel` string — The level at which the user operates in their current role
      - `useCaseList` UseCase[] — Describes different ways the user intends to use Guru
        - `description` string — A description of this use case
      - `role` string — The functional role a Guru user performs on their team
    - `lastName` string, required — The user's last name
    - `firstName` string, required — The user's first name
    - `status` 'ACTIVE' | 'PENDING' — The status of a User can be ACTIVE or PENDING. The User must verify their email address to be considered ACTIVE.
    - `email` string, required — The user's email address
  - `lastModified` string, date-time — Date the comment was last modified. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000
  - `reactions` ReactionDetail[]
    - `count` integer
    - `shortcode` string
    - `firstReactionAt` string, date-time
    - `currentUserReactionId` string
  - `deleted` boolean — Indicates if the comment has been deleted
  - `dateCreated` string, date-time — Date the comment was created. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000

## Other responses

- `400` — Invalid/Incomplete request. Comment content is required
- `401` — Request was unauthorized
- `403` — Forbidden access to the card or comment
- `404` — Resource could not be found

---

[API](https://skmtc.net/getguru/apis/guru-api.md) · [All operations](https://skmtc.net/getguru/apis/guru-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getguru/guru-api/revisions/9090a01dfe1a/schema)
