SharedSpaceCommentResponseDto
| Field | Required | Description |
|---|---|---|
assetId | Yes | The item commented on; null for a comment on the space itself |
canDelete | Yes | True when the caller may remove the comment |
canEdit | Yes | True when the caller may change the text |
comment | Yes | The text, with @{userId} mention tokens |
createdAt | Yes | When it was written |
id | Yes | Comment ID |
mentions | Yes | Members named in the comment |
parentId | Yes | The top-level comment this reply answers; null for a top-level comment |
replyCount | Yes | How many replies this comment has that the caller can see; always 0 for a reply |
updatedAt | Yes | When it was last edited |
user | Yes | The author |
Complete definition
required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.
Field definitions: UserResponseDto
{
"properties": {
"assetId": {
"description": "The item commented on; null for a comment on the space itself",
"format": "uuid",
"nullable": true,
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"canDelete": {
"description": "True when the caller may remove the comment",
"type": "boolean"
},
"canEdit": {
"description": "True when the caller may change the text",
"type": "boolean"
},
"comment": {
"description": "The text, with @{userId} mention tokens",
"type": "string"
},
"createdAt": {
"description": "When it was written",
"format": "date-time",
"type": "string"
},
"id": {
"description": "Comment ID",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"mentions": {
"description": "Members named in the comment",
"items": {
"$ref": "#/components/schemas/UserResponseDto"
},
"type": "array"
},
"parentId": {
"description": "The top-level comment this reply answers; null for a top-level comment",
"format": "uuid",
"nullable": true,
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"replyCount": {
"description": "How many replies this comment has that the caller can see; always 0 for a reply",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"updatedAt": {
"description": "When it was last edited",
"format": "date-time",
"type": "string"
},
"user": {
"$ref": "#/components/schemas/UserResponseDto",
"description": "The author"
}
},
"required": [
"assetId",
"canDelete",
"canEdit",
"comment",
"createdAt",
"id",
"mentions",
"parentId",
"replyCount",
"updatedAt",
"user"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.