---
title: "✨ Update comment"
method: PATCH
path: "/api/comments/{id}/"
tags: ["Comments"]
---

# ✨ Update comment

`PATCH /api/comments/{id}/`

<Card href="https://humansignal.com/goenterprise">
        <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
        <p style="margin-top: 10px; font-size: 14px;">
            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
        </p>
    </Card>
Update a specific comment by ID.

## Path parameters

- `id` string, required

## Query parameters

- `expand_created_by` boolean

## Request body

- PatchedCommentRequest — Comment Serializer with FSM state support. Note: The 'state' field will be populated from the queryset annotation if present, preventing N+1 queries. Use .with_state() on your queryset. The state field display is controlled by both: - fflag_feat_fit_568_finite_state_management (FSM background calculations) - fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
  - `annotation` integer, nullable
  - `classifications` unknown
  - `draft` integer, nullable
  - `is_resolved` boolean — True if the comment is resolved
  - `region_ref` unknown
  - `text` string, nullable — Reviewer or annotator comment

## Response `200`

- union
  - Comment — Comment Serializer with FSM state support. Note: The 'state' field will be populated from the queryset annotation if present, preventing N+1 queries. Use .with_state() on your queryset. The state field display is controlled by both: - fflag_feat_fit_568_finite_state_management (FSM background calculations) - fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
    - `annotation` integer, nullable
    - `classifications` unknown
    - `created_at` string, date-time, required — Creation time
    - `created_by` integer, required — User who made this comment
    - `draft` integer, nullable
    - `id` integer, required
    - `is_resolved` boolean — True if the comment is resolved
    - `project` integer, nullable, required
    - `region_ref` unknown
    - `resolved_at` string, date-time, nullable, required — Resolving time
    - `state` string, required
    - `task` integer, nullable, required
    - `text` string, nullable — Reviewer or annotator comment
    - `updated_at` string, date-time, required — Last updated time
  - CommentSerializerWithExpandedUser — Comment Serializer with FSM state support. Note: The 'state' field will be populated from the queryset annotation if present, preventing N+1 queries. Use .with_state() on your queryset. The state field display is controlled by both: - fflag_feat_fit_568_finite_state_management (FSM background calculations) - fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
    - `annotation` integer, nullable
    - `classifications` unknown
    - `created_at` string, date-time, required — Creation time
    - `created_by` LseUser, required — A ModelSerializer that takes additional arguments for "fields", "omit" and "expand" in order to control which fields are displayed, and whether to replace simple values with complex, nested serializations
      - `active_organization` integer, nullable
      - `active_organization_meta` string, required
      - `allow_newsletters` boolean, nullable — Allow sending newsletters to user
      - `avatar` string, required
      - `custom_hotkeys` unknown
      - `date_joined` string, date-time
      - `email` string, email
      - `first_name` string
      - `id` integer, required
      - `initials` string, required
      - `last_activity` string, date-time, required
      - `last_name` string
      - `lse_fields` LseFields, required
        - `email_notification_settings` string, required
        - `invite_activated` boolean, nullable
        - `invite_expired` string, required
        - `invite_expired_at` string, required
        - `invited_at` string, date-time, nullable
        - `invited_by` integer, nullable
        - `onboarding_state` 'not_started' | 'signup' | 'trial_signup' | 'first_tutorial' | 'in_app_guidance' | 'complete' — * `not_started` - Not Started * `signup` - Signup * `trial_signup` - Trial Signup * `first_tutorial` - First Tutorial * `in_app_guidance` - In App Guidance * `complete` - Complete
        - `social_auth_finished` boolean, nullable — Is user finished social authentication
        - `trial_company` string, nullable
        - `trial_experience_labeling` string, nullable
        - `trial_license_enterprise` boolean, nullable
        - `trial_models_in_production` string, nullable
        - `trial_role` 'annotator' | 'annotator_team_manager' | 'business_analyst' | 'business_or_data_team_leadership' | 'data_engineer_platform_engineer' | 'data_scientist' | 'other' — * `annotator` - Annotator * `annotator_team_manager` - Annotator Team Manager * `business_analyst` - Business Analyst * `business_or_data_team_leadership` - Business Or Data Team Leadership * `data_engineer_platform_engineer` - Data Engineer Platform Engineer * `data_scientist` - Data Scientist * `other` - Other
      - `org_membership` OrganizationMembership[], required
        - `active` string, required
        - `organization_id` integer, required — Organization ID
        - `role` string, required
      - `organization_membership` OrganizationMembership, required
        - `active` string, required
        - `organization_id` integer, required — Organization ID
        - `role` string, required
      - `pause` string, required
      - `phone` string
      - `username` string, required
    - `draft` integer, nullable
    - `id` integer, required
    - `is_resolved` boolean — True if the comment is resolved
    - `project` integer, nullable, required
    - `region_ref` unknown
    - `resolved_at` string, date-time, nullable, required — Resolving time
    - `state` string, required
    - `task` integer, nullable, required
    - `text` string, nullable — Reviewer or annotator comment
    - `updated_at` string, date-time, required — Last updated time

---

[API](https://skmtc.dev/humansignal/apis/label-studio-api.md) · [All operations](https://skmtc.dev/humansignal/apis/label-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/humansignal/label-studio-api/revisions/c2d3e4a78bf8/schema)
