openapi: 3.0.1 info: title: Plane Cycle Work Items Work Item Comments API description: 'REST API for Plane, the open-source project and product management tool. The API is organized around REST with predictable, resource-oriented URLs, accepts JSON request bodies, returns JSON responses, and uses standard HTTP response codes and verbs. Resources are scoped to a workspace and project: workspaces contain projects, and projects contain work items (issues), cycles, modules, states, labels, and members. Authentication uses an X-API-Key header. This document covers Plane Cloud (https://api.plane.so); self-hosted Community Edition instances expose the same API under their own domain.' termsOfService: https://plane.so/legals/terms-and-conditions contact: name: Plane Support url: https://plane.so/contact license: name: AGPL-3.0 (Community Edition) url: https://github.com/makeplane/plane/blob/master/LICENSE.txt version: v1 servers: - url: https://api.plane.so/api/v1 description: Plane Cloud security: - ApiKeyAuth: [] tags: - name: Work Item Comments paths: /workspaces/{workspace_slug}/projects/{project_id}/work-items/{work_item_id}/comments/: get: operationId: listWorkItemComments tags: - Work Item Comments summary: List comments on a work item. parameters: - $ref: '#/components/parameters/WorkspaceSlug' - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/WorkItemId' responses: '200': description: A paginated list of comments. content: application/json: schema: type: array items: $ref: '#/components/schemas/Comment' post: operationId: createWorkItemComment tags: - Work Item Comments summary: Add a comment to a work item. parameters: - $ref: '#/components/parameters/WorkspaceSlug' - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/WorkItemId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommentCreate' responses: '201': description: The created comment. content: application/json: schema: $ref: '#/components/schemas/Comment' /workspaces/{workspace_slug}/projects/{project_id}/work-items/{work_item_id}/comments/{comment_id}/: get: operationId: getWorkItemComment tags: - Work Item Comments summary: Retrieve a work item comment. parameters: - $ref: '#/components/parameters/WorkspaceSlug' - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/WorkItemId' - $ref: '#/components/parameters/CommentId' responses: '200': description: The requested comment. content: application/json: schema: $ref: '#/components/schemas/Comment' patch: operationId: updateWorkItemComment tags: - Work Item Comments summary: Update a work item comment. parameters: - $ref: '#/components/parameters/WorkspaceSlug' - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/WorkItemId' - $ref: '#/components/parameters/CommentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommentCreate' responses: '200': description: The updated comment. content: application/json: schema: $ref: '#/components/schemas/Comment' delete: operationId: deleteWorkItemComment tags: - Work Item Comments summary: Delete a work item comment. parameters: - $ref: '#/components/parameters/WorkspaceSlug' - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/WorkItemId' - $ref: '#/components/parameters/CommentId' responses: '204': description: The comment was deleted. components: parameters: WorkspaceSlug: name: workspace_slug in: path required: true description: The unique slug of the workspace. schema: type: string CommentId: name: comment_id in: path required: true schema: type: string format: uuid WorkItemId: name: work_item_id in: path required: true description: The UUID of the work item (issue). schema: type: string format: uuid ProjectId: name: project_id in: path required: true description: The UUID of the project. schema: type: string format: uuid schemas: CommentCreate: type: object required: - comment_html properties: comment_html: type: string access: type: string enum: - INTERNAL - EXTERNAL Comment: type: object properties: id: type: string format: uuid comment_html: type: string comment_stripped: type: string access: type: string enum: - INTERNAL - EXTERNAL actor: type: string format: uuid issue: type: string format: uuid created_at: type: string format: date-time securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key generated from your Plane workspace settings. Pass it in the X-API-Key header on every request.