clickup · Capability

ClickUp Comments API — Comments

ClickUp Comments API — Comments. 8 operations. Lead operation: Update a comment. Self-contained Naftiko capability covering one Clickup business surface.

Run with Naftiko ClickupComments

What You Can Do

PUT
Updatecomment — Update a comment
/v1/comment/{comment-id}
DELETE
Deletecomment — Delete a comment
/v1/comment/{comment-id}
GET
Getlistcomments — Get list comments
/v1/list/{list-id}/comment
POST
Createlistcomment — Create a list comment
/v1/list/{list-id}/comment
GET
Gettaskcomments — Get task comments
/v1/task/{task-id}/comment
POST
Createtaskcomment — Create a task comment
/v1/task/{task-id}/comment
GET
Getviewcomments — Get view comments
/v1/view/{view-id}/comment
POST
Createviewcomment — Create a view comment
/v1/view/{view-id}/comment

MCP Tools

update-comment

Update a comment

idempotent
delete-comment

Delete a comment

idempotent
get-list-comments

Get list comments

read-only idempotent
create-list-comment

Create a list comment

read-only
get-task-comments

Get task comments

read-only idempotent
create-task-comment

Create a task comment

get-view-comments

Get view comments

read-only idempotent
create-view-comment

Create a view comment

Capability Spec

comments-comments.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: ClickUp Comments API — Comments
  description: 'ClickUp Comments API — Comments. 8 operations. Lead operation: Update a comment. Self-contained Naftiko capability
    covering one Clickup business surface.'
  tags:
  - Clickup
  - Comments
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CLICKUP_API_KEY: CLICKUP_API_KEY
capability:
  consumes:
  - type: http
    namespace: comments-comments
    baseUri: https://api.clickup.com/api/v2
    description: ClickUp Comments API — Comments business capability. Self-contained, no shared references.
    resources:
    - name: comment-comment_id
      path: /comment/{comment_id}
      operations:
      - name: updatecomment
        method: PUT
        description: Update a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletecomment
        method: DELETE
        description: Delete a comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: list-list_id-comment
      path: /list/{list_id}/comment
      operations:
      - name: getlistcomments
        method: GET
        description: Get list comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start
          in: query
          type: integer
          description: Unix timestamp in milliseconds to start from for pagination.
        - name: start_id
          in: query
          type: string
          description: Comment ID to start from for pagination.
      - name: createlistcomment
        method: POST
        description: Create a list comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: task-task_id-comment
      path: /task/{task_id}/comment
      operations:
      - name: gettaskcomments
        method: GET
        description: Get task comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: custom_task_ids
          in: query
          type: boolean
          description: If you want to reference a task by its custom task ID, this value must be true.
        - name: team_id
          in: query
          type: integer
          description: Required when custom_task_ids is set to true. The Workspace ID.
        - name: start
          in: query
          type: integer
          description: Unix timestamp in milliseconds to start from for pagination.
        - name: start_id
          in: query
          type: string
          description: Comment ID to start from for pagination.
      - name: createtaskcomment
        method: POST
        description: Create a task comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: custom_task_ids
          in: query
          type: boolean
          description: If you want to reference a task by its custom task ID, this value must be true.
        - name: team_id
          in: query
          type: integer
          description: Required when custom_task_ids is set to true. The Workspace ID.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: view-view_id-comment
      path: /view/{view_id}/comment
      operations:
      - name: getviewcomments
        method: GET
        description: Get view comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: start
          in: query
          type: integer
          description: Unix timestamp in milliseconds to start from for pagination.
        - name: start_id
          in: query
          type: string
          description: Comment ID to start from for pagination.
      - name: createviewcomment
        method: POST
        description: Create a view comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.CLICKUP_API_KEY}}'
  exposes:
  - type: rest
    namespace: comments-comments-rest
    port: 8080
    description: REST adapter for ClickUp Comments API — Comments. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/comment/{comment-id}
      name: comment-comment-id
      description: REST surface for comment-comment_id.
      operations:
      - method: PUT
        name: updatecomment
        description: Update a comment
        call: comments-comments.updatecomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecomment
        description: Delete a comment
        call: comments-comments.deletecomment
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/list/{list-id}/comment
      name: list-list-id-comment
      description: REST surface for list-list_id-comment.
      operations:
      - method: GET
        name: getlistcomments
        description: Get list comments
        call: comments-comments.getlistcomments
        with:
          start: rest.start
          start_id: rest.start_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlistcomment
        description: Create a list comment
        call: comments-comments.createlistcomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/task/{task-id}/comment
      name: task-task-id-comment
      description: REST surface for task-task_id-comment.
      operations:
      - method: GET
        name: gettaskcomments
        description: Get task comments
        call: comments-comments.gettaskcomments
        with:
          custom_task_ids: rest.custom_task_ids
          team_id: rest.team_id
          start: rest.start
          start_id: rest.start_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createtaskcomment
        description: Create a task comment
        call: comments-comments.createtaskcomment
        with:
          custom_task_ids: rest.custom_task_ids
          team_id: rest.team_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/view/{view-id}/comment
      name: view-view-id-comment
      description: REST surface for view-view_id-comment.
      operations:
      - method: GET
        name: getviewcomments
        description: Get view comments
        call: comments-comments.getviewcomments
        with:
          start: rest.start
          start_id: rest.start_id
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createviewcomment
        description: Create a view comment
        call: comments-comments.createviewcomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: comments-comments-mcp
    port: 9090
    transport: http
    description: MCP adapter for ClickUp Comments API — Comments. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: update-comment
      description: Update a comment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: comments-comments.updatecomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-comment
      description: Delete a comment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: comments-comments.deletecomment
      outputParameters:
      - type: object
        mapping: $.
    - name: get-list-comments
      description: Get list comments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: comments-comments.getlistcomments
      with:
        start: tools.start
        start_id: tools.start_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-list-comment
      description: Create a list comment
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: comments-comments.createlistcomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-task-comments
      description: Get task comments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: comments-comments.gettaskcomments
      with:
        custom_task_ids: tools.custom_task_ids
        team_id: tools.team_id
        start: tools.start
        start_id: tools.start_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-task-comment
      description: Create a task comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: comments-comments.createtaskcomment
      with:
        custom_task_ids: tools.custom_task_ids
        team_id: tools.team_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-view-comments
      description: Get view comments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: comments-comments.getviewcomments
      with:
        start: tools.start
        start_id: tools.start_id
      outputParameters:
      - type: object
        mapping: $.
    - name: create-view-comment
      description: Create a view comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: comments-comments.createviewcomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.