---
title: "Get comments"
method: GET
path: "/api/v2/comments"
tags: ["Comments"]
---

# Get comments

`GET /api/v2/comments`

List comments with optional filters and pagination.

## Query parameters

- `filter` union — Filter schema for `comment` list endpoints — pass a single condition or a logical group.
  - object — A logical filter group — combine multiple conditions with the `$op` operator.
    - `$op` 'or' | 'and', required — Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match.
  - FilterComment — Filter parameters for listing comments. Supports filtering by parent resource (task, deal, company, person, page, project, purchase order), author, discussion thread, draft status, and full-text search. Standard string operators apply.
    - `full_query` union — Full-text search across comment content.
      - object — Filter using explicit operator syntax.
        - `not_eq` FullQuery — unresolved $ref
        - `eq` FullQuery — unresolved $ref
        - `contains` FullQuery — unresolved $ref
        - `not_contain` FullQuery — unresolved $ref
      - FullQuery — unresolved $ref
    - `draft` union — Filter to include only draft comments.
      - object — Filter using explicit operator syntax.
        - `not_contain` Draft — unresolved $ref
        - `eq` Draft — unresolved $ref
        - `not_eq` Draft — unresolved $ref
        - `contains` Draft — unresolved $ref
      - Draft — unresolved $ref
    - `discussion_id` union — Filter by the associated discussion.
      - object — Filter using explicit operator syntax.
        - `eq` DiscussionId — unresolved $ref
        - `not_eq` DiscussionId — unresolved $ref
        - `not_contain` DiscussionId — unresolved $ref
        - `contains` DiscussionId — unresolved $ref
      - DiscussionId — unresolved $ref
    - `company_id` union — Filter by client company (used in full-text search context).
      - CompanyId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` CompanyId — unresolved $ref
        - `eq` CompanyId — unresolved $ref
        - `contains` CompanyId — unresolved $ref
        - `not_contain` CompanyId — unresolved $ref
    - `workflow_status_category_id` union — Filter by workflow status category.
      - WorkflowStatusCategoryId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` WorkflowStatusCategoryId — unresolved $ref
        - `eq` WorkflowStatusCategoryId — unresolved $ref
        - `not_contain` WorkflowStatusCategoryId — unresolved $ref
        - `contains` WorkflowStatusCategoryId — unresolved $ref
    - `person_type` union — Filter by person type (used in full-text search context).
      - object — Filter using explicit operator syntax.
        - `eq` PersonType — unresolved $ref
        - `not_eq` PersonType — unresolved $ref
        - `contains` PersonType — unresolved $ref
        - `not_contain` PersonType — unresolved $ref
      - PersonType — unresolved $ref
    - `public_access` union — Filter by public access setting (used in full-text search context).
      - PublicAccess — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` PublicAccess — unresolved $ref
        - `contains` PublicAccess — unresolved $ref
        - `not_contain` PublicAccess — unresolved $ref
        - `eq` PublicAccess — unresolved $ref
    - `task_id` union — Filter by the associated task.
      - object — Filter using explicit operator syntax.
        - `contains` TaskId — unresolved $ref
        - `not_eq` TaskId — unresolved $ref
        - `not_contain` TaskId — unresolved $ref
        - `eq` TaskId — unresolved $ref
      - TaskId — unresolved $ref
    - `page_id` union — Filter by the associated document page.
      - PageId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_eq` PageId — unresolved $ref
        - `eq` PageId — unresolved $ref
        - `not_contain` PageId — unresolved $ref
        - `contains` PageId — unresolved $ref
    - `status` union — Filter by company status (used in full-text search context).
      - object — Filter using explicit operator syntax.
        - `eq` Status — unresolved $ref
        - `contains` Status — unresolved $ref
        - `not_contain` Status — unresolved $ref
        - `not_eq` Status — unresolved $ref
      - Status — unresolved $ref
    - `commentable_project_id` union — Filter by the project containing the commented-on resource.
      - CommentableProjectId — unresolved $ref
      - object — Operator object — supports eq, not_eq, contains, not_contain.
        - `contains` CommentableProjectId — unresolved $ref
        - `not_contain` CommentableProjectId — unresolved $ref
        - `eq` CommentableProjectId — unresolved $ref
        - `not_eq` CommentableProjectId — unresolved $ref
    - `fuzzy_people` union — Filter by person using fuzzy matching.
      - FuzzyPeople — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `eq` FuzzyPeople — unresolved $ref
        - `not_contain` FuzzyPeople — unresolved $ref
        - `not_eq` FuzzyPeople — unresolved $ref
        - `contains` FuzzyPeople — unresolved $ref
    - `budget_status` union — Filter comments by budget status (used in full-text search context).
      - object — Filter using explicit operator syntax.
        - `contains` BudgetStatus — unresolved $ref
        - `not_contain` BudgetStatus — unresolved $ref
        - `eq` BudgetStatus — unresolved $ref
        - `not_eq` BudgetStatus — unresolved $ref
      - BudgetStatus — unresolved $ref
    - `fuzzy_dates` union — Filter by fuzzy date range (relative date expression).
      - FuzzyDates — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `eq` FuzzyDates — unresolved $ref
        - `not_eq` FuzzyDates — unresolved $ref
    - `status_id` union — Filter by workflow status (used in full-text search context).
      - object — Filter using explicit operator syntax.
        - `not_eq` StatusId — unresolved $ref
        - `contains` StatusId — unresolved $ref
        - `not_contain` StatusId — unresolved $ref
        - `eq` StatusId — unresolved $ref
      - StatusId — unresolved $ref
    - `jump_query` union — Jump (prefix) full-text search across comment content.
      - JumpQuery — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_contain` JumpQuery — unresolved $ref
        - `not_eq` JumpQuery — unresolved $ref
        - `contains` JumpQuery — unresolved $ref
        - `eq` JumpQuery — unresolved $ref
    - `sales_status_id` union — Filter by sales pipeline status (used in full-text search context).
      - SalesStatusId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `contains` SalesStatusId — unresolved $ref
        - `not_eq` SalesStatusId — unresolved $ref
        - `eq` SalesStatusId — unresolved $ref
        - `not_contain` SalesStatusId — unresolved $ref
    - `responsible_id` union — Filter by the person responsible (used in full-text search context).
      - ResponsibleId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `not_contain` ResponsibleId — unresolved $ref
        - `contains` ResponsibleId — unresolved $ref
        - `not_eq` ResponsibleId — unresolved $ref
        - `eq` ResponsibleId — unresolved $ref
    - `role_id` union — Filter by role (used in full-text search context).
      - RoleId — unresolved $ref
      - object — Filter using explicit operator syntax.
        - `eq` RoleId — unresolved $ref
        - `not_eq` RoleId — unresolved $ref
        - `not_contain` RoleId — unresolved $ref
        - `contains` RoleId — unresolved $ref
    - `project_id` union — Filter by the associated project (via task).
      - object — Filter using explicit operator syntax.
        - `contains` ProjectId — unresolved $ref
        - `not_eq` ProjectId — unresolved $ref
        - `eq` ProjectId — unresolved $ref
        - `not_contain` ProjectId — unresolved $ref
      - ProjectId — unresolved $ref
- `sort` string[]

## Headers

- `X-Organization-Id` string, required

## Response `200`

Collection comment

---

[API](https://skmtc.net/productive/apis/api-documentation.md) · [All operations](https://skmtc.net/productive/apis/api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/productive/api-documentation/revisions/7764b2b9fcc4/schema)
