openapi: 3.0.1 info: title: Deprecated eToro Public API operations Agent Portfolios Comments and Replies API version: v1.158.0 description: Snapshot of API operations that existed in the previous docs OpenAPI file and are no longer present in the current upstream Swagger. tags: - name: Comments and Replies paths: /api/v1/posts/{postId}/comments: post: tags: - Comments and Replies summary: Create a comment on a post description: Creates a new comment on a specific discussion post. Comments can include text, mentions, tags, and attachments. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: 29312cd0-780c-418d-93f2-879c5e95cf1d description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the post to comment on (UUID) required: true schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 requestBody: description: Comment creation details. `message` is required; `attachments` is optional. required: true content: application/json: schema: $ref: '#/components/schemas/CommentCreateRequest' examples: textComment: summary: Plain text comment value: message: Great analysis — I've been watching $TSLA closely too. commentWithAttachment: summary: Comment with an image attachment value: message: Check out this chart I made! attachments: - url: https://cdn.etoro.com/rich-media/images/johndoe/abc-2025-01-15.jpg mediaType: Image responses: '201': description: Comment created successfully content: application/json: schema: $ref: '#/components/schemas/Comment' '401': description: Authentication required '404': description: Parent post not found '422': description: Validation failed — missing message body or spam classification rejected the content operationId: createACommentOnAPost get: tags: - Comments and Replies summary: List comments on a post description: Returns a paginated list of top-level comments on a post. Soft-deleted comments are included with isDeleted=true and blanked content so reply trees remain navigable. Authentication is optional — unauthenticated requests omit requesterContext. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: 2f88fea0-f7af-4f63-9ce8-edb4ffef7a42 description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: take in: query description: Number of items to return (1–100, default 20) schema: type: integer default: 20 minimum: 1 maximum: 100 example: 20 - name: offsetEntityId in: query description: Opaque cursor from previous response for stable paging schema: type: string example: b2c3d4e5-f6a7-4890-bcde-f23456789012 - name: order in: query description: Sort order schema: type: string enum: - Asc - Desc default: Desc example: Desc - name: badgesExperimentIsEnabled in: query description: Include user badges in the response schema: type: boolean default: false responses: '200': description: Paginated comment list content: application/json: schema: $ref: '#/components/schemas/CommentsResponse' '404': description: Post not found operationId: listCommentsOnAPost /api/v1/posts/{postId}/comments/{commentId}: put: tags: - Comments and Replies summary: Update a comment description: Edits the authenticated user's own comment in-place. Sets editStatus to Edited. Emotion counts, repliesCount, and created are preserved. Owner is derived from the auth token. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: f77ef9ed-152e-4386-9bb9-a98ae8d7a612 description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: commentId in: path description: ID of the comment (UUID) schema: type: string format: uuid example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 required: true requestBody: description: Updated comment content required: true content: application/json: schema: $ref: '#/components/schemas/CommentUpdateRequest' responses: '200': description: Updated comment content: application/json: schema: $ref: '#/components/schemas/Comment' '401': description: Authentication required '403': description: Requester is not the comment owner '404': description: Post or comment not found '422': description: Validation failed — missing message body or spam classification rejected the content operationId: updateAComment delete: tags: - Comments and Replies summary: Soft-delete a comment description: Soft-deletes the authenticated user's own comment. Sets isDeleted=true and blanks message text and attachments. Replies are preserved and the parent post's totalCommentsAndReplies is decremented only by the deleted node. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: 643b333f-b00f-43a2-a033-8d6a36f824ea description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: commentId in: path description: ID of the comment (UUID) schema: type: string format: uuid example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 required: true responses: '204': description: Comment deleted successfully '401': description: Authentication required '403': description: Requester is not the comment owner '404': description: Post or comment not found operationId: softDeleteAComment /api/v1/posts/{postId}/comments/{commentId}/replies: get: tags: - Comments and Replies summary: List replies on a comment description: Returns a paginated list of replies nested under a specific comment. Authentication is optional. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: 967bd734-c758-446a-a447-d88ae65f4346 description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: commentId in: path description: ID of the comment (UUID) schema: type: string format: uuid example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 required: true - name: take in: query description: Number of items to return (1–100, default 20) schema: type: integer default: 20 minimum: 1 maximum: 100 example: 20 - name: offsetEntityId in: query description: Opaque cursor from previous response for stable paging schema: type: string example: b2c3d4e5-f6a7-4890-bcde-f23456789012 - name: order in: query description: Sort order schema: type: string enum: - Asc - Desc default: Desc example: Desc - name: badgesExperimentIsEnabled in: query description: Include user badges in the response schema: type: boolean default: false responses: '200': description: Paginated reply list content: application/json: schema: $ref: '#/components/schemas/CommentsResponse' '404': description: Post or comment not found operationId: listRepliesOnAComment post: tags: - Comments and Replies summary: Create a reply description: Creates a reply nested under an existing comment. Replies are 1-level deep — replying to a reply attaches to the same parent comment with an inline @mention to the reply author. Increments parent comment's repliesCount and the post's totalCommentsAndReplies. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: 4de03db6-51fa-4ce3-a54f-50f846eed5ea description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: commentId in: path description: ID of the comment (UUID) schema: type: string format: uuid example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 required: true requestBody: description: Reply content. `message` is required; `attachments` is optional. required: true content: application/json: schema: $ref: '#/components/schemas/CommentCreateRequest' examples: textReply: summary: Plain text reply value: message: Totally agree — and the latest earnings back this up. replyWithAttachment: summary: Reply with an image attachment value: message: Here's the chart I was talking about! attachments: - url: https://cdn.etoro.com/rich-media/images/johndoe/abc-2025-01-15.jpg mediaType: Image responses: '201': description: Reply created content: application/json: schema: $ref: '#/components/schemas/Comment' '401': description: Authentication required '404': description: Post or comment not found '422': description: Validation failed — missing message body or spam classification rejected the content operationId: createAReply /api/v1/posts/{postId}/comments/{commentId}/replies/{replyId}: put: tags: - Comments and Replies summary: Update a reply description: Edits the authenticated user's own reply in-place. Same semantics as updating a comment. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: 8d810c19-fec7-4461-9774-fb038729fee6 description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: commentId in: path description: ID of the comment (UUID) schema: type: string format: uuid example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 required: true - name: replyId in: path description: ID of the reply (UUID) schema: type: string format: uuid example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 required: true requestBody: description: Updated reply content required: true content: application/json: schema: $ref: '#/components/schemas/CommentUpdateRequest' responses: '200': description: Updated reply content: application/json: schema: $ref: '#/components/schemas/Comment' '401': description: Authentication required '403': description: Requester is not the reply owner '404': description: Post, comment, or reply not found '422': description: Validation failed — missing message body or spam classification rejected the content operationId: updateAReply delete: tags: - Comments and Replies summary: Soft-delete a reply description: Soft-deletes the authenticated user's own reply. parameters: - name: x-request-id in: header required: true schema: type: string format: uuid example: a03cae57-ccf4-4635-b909-de9e7921e2c5 description: A unique request identifier. - name: x-api-key in: header required: true schema: type: string format: password example: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663 description: API key for authentication. - name: x-user-key in: header required: true schema: type: string format: password example: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_ description: User-specific authentication key. - name: postId in: path description: ID of the parent post (UUID) schema: type: string format: uuid example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 required: true - name: commentId in: path description: ID of the comment (UUID) schema: type: string format: uuid example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 required: true - name: replyId in: path description: ID of the reply (UUID) schema: type: string format: uuid example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 required: true responses: '204': description: Reply deleted successfully '401': description: Authentication required '403': description: Requester is not the reply owner '404': description: Post, comment, or reply not found operationId: softDeleteAReply components: schemas: User: type: object description: eToro user profile (slim projection) properties: id: type: string description: User's GCID (string form) example: '7890' username: type: string description: Unique username example: johndoe firstName: type: string description: First name example: John lastName: type: string description: Last name example: Doe avatar: type: object description: Profile picture URLs properties: small: type: string description: 32 px avatar URL example: https://etoro-cdn.etorostatic.com/avatars/150X150/johndoe.jpg medium: type: string description: 64 px avatar URL example: https://etoro-cdn.etorostatic.com/avatars/200X200/johndoe.jpg large: type: string description: 128 px avatar URL example: https://etoro-cdn.etorostatic.com/avatars/300X300/johndoe.jpg svg: type: object nullable: true description: SVG avatar with brand colours (null when not available) properties: url: type: string description: SVG URL example: https://etoro-cdn.etorostatic.com/avatars/svg/johndoe.svg backgroundColor: type: string description: Background colour hex example: '#2196F3' textColor: type: string description: Text colour hex example: '#FFFFFF' roles: type: array description: User roles items: type: string enum: - Regular - PI - Moderator - Anonymous - eToroTeam - eTorian - CopyPortfolio - Depositor - Admin - Verified - Analyst example: - Regular isBlocked: type: boolean description: Owner has blocked the requester example: false isPrivate: type: boolean description: User's profile is private example: false countryCode: type: integer description: ISO numeric country code example: 840 piLevel: type: integer description: Popular Investor level (0 = not PI) example: 0 Attachment: type: object description: Media or link attachment properties: url: type: string description: Full URL of the attachment example: https://cdn.etoro.com/rich-media/images/johndoe/abc-2025-01-15.jpg title: type: string description: Title of the attachment example: Tesla Q4 Earnings Chart host: type: string description: Host domain of the attachment example: cdn.etoro.com description: type: string description: Short description of the attachment example: Tesla quarterly earnings breakdown mediaType: type: string enum: - None - Link - Image - Video description: Type of media example: Image media: type: object description: Media content details properties: image: type: object description: Image dimensions and URL properties: width: type: integer description: Width in pixels example: 1200 height: type: integer description: Height in pixels example: 630 url: type: string description: Image URL example: https://cdn.etoro.com/rich-media/images/johndoe/abc-2025-01-15.jpg video: type: object description: Video source details properties: videoSourceId: type: string description: External video ID example: dQw4w9WgXcQ videoSource: type: string enum: - None - YouTube - Vimeo description: Video provider example: YouTube image: type: object description: Video thumbnail properties: width: type: integer description: Thumbnail width in pixels example: 1280 height: type: integer description: Thumbnail height in pixels example: 720 url: type: string description: Thumbnail URL example: https://img.youtube.com/vi/dQw4w9WgXcQ/hqdefault.jpg CommentCreateRequest: type: object description: Request body for creating a comment or reply required: - message properties: message: type: string description: Comment text (max 500 chars) example: Great analysis! I agree — the fundamentals are solid. attachments: $ref: '#/components/schemas/Attachments' Market: type: object description: Financial instrument / market properties: id: type: string description: Market identifier example: TSLA symbolName: type: string description: Ticker symbol example: TSLA displayName: type: string description: Human-readable name example: Tesla updated: type: string format: date-time nullable: true description: Last update timestamp example: '2025-01-15T00:00:00Z' assetType: type: string enum: - Stocks - Bonds - ETF - Index - Warrants - Options - Futures - CFD - TRS - FOREX - CommodityMetals - CommodityEnergyAgriculture - CryptoCoin - NFT description: Asset class example: Stocks internalId: type: integer description: Internal numeric market ID example: 59114 avatar: type: object description: Market logo images properties: small: type: string description: Small logo URL (32 px) example: https://cdn.etoro.com/assets/img/markets/TSLA/small.png medium: type: string description: Medium logo URL (64 px) example: https://cdn.etoro.com/assets/img/markets/TSLA/medium.png large: type: string description: Large logo URL (128 px) example: https://cdn.etoro.com/assets/img/markets/TSLA/large.png svg: type: object nullable: true description: SVG logo with brand colours properties: url: type: string description: SVG URL example: https://cdn.etoro.com/assets/img/markets/TSLA/logo.svg backgroundColor: type: string description: Brand background colour (hex) example: '#CC0000' textColor: type: string description: Brand text colour (hex) example: '#FFFFFF' application: type: string enum: - eToro - Delta - Gatsby description: Source application example: eToro metadata: type: string description: Opaque JSON metadata string example: '{}' assetTypeId: type: integer description: Numeric asset type ID example: 10 assetTypeSubCategoryId: type: integer description: Numeric asset sub-category ID example: 101 Attachments: type: array description: List of attachments for a post or comment (request body format) items: type: object description: Media or link attachment properties: url: type: string description: Full URL of the attachment example: https://cdn.etoro.com/rich-media/images/johndoe/abc-2025-01-15.jpg title: type: string description: Title of the attachment example: Tesla Q4 Earnings Chart host: type: string description: Host domain of the attachment example: cdn.etoro.com description: type: string description: Short description of the attachment example: Tesla quarterly earnings breakdown mediaType: type: string enum: - None - Link - Image description: Type of media (video not supported for upload) example: Image media: type: object description: Media content details (images only) properties: image: type: object description: Image dimensions and URL properties: width: type: integer description: Width in pixels example: 1200 height: type: integer description: Height in pixels example: 630 url: type: string description: Image URL example: https://cdn.etoro.com/rich-media/images/johndoe/abc-2025-01-15.jpg Comment: type: object description: A comment (or reply) on a post, wrapped with interaction data properties: entity: type: object description: Core comment data properties: id: type: string description: Comment ID example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 owner: $ref: '#/components/schemas/User' obsoleteId: type: string description: Legacy numeric comment ID example: '98765' created: type: string format: date-time description: Creation timestamp example: '2025-01-15T10:30:00Z' updated: type: string format: date-time nullable: true description: Last-edited timestamp example: '2025-01-15T11:00:00Z' message: type: object description: Post/comment text content properties: text: type: string description: Text content example: Excited about $TSLA earnings next week! languageCode: type: string description: BCP-47 language code example: en attachments: type: array items: $ref: '#/components/schemas/Attachment' mentions: type: array items: type: object properties: user: $ref: '#/components/schemas/User' isDirect: type: boolean description: Direct @-mention example: true tags: type: array items: type: object properties: market: $ref: '#/components/schemas/Market' isSpam: type: boolean description: True when classified as spam example: false editStatus: type: string enum: - None - Edited - Moderated description: Edit lifecycle status example: None parent: type: object description: Parent entity reference properties: id: type: string description: Parent entity ID example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 obsoleteId: type: string description: Legacy parent ID example: '12345' type: type: string enum: - Unknown - Post - Comment - Reply description: Parent entity type example: Post repliesCount: type: integer description: Number of direct replies to this comment example: 2 replies: type: array description: Inline reply preview. Each entry has the same shape as Comment; nested `replies` arrays are not populated at this level. items: $ref: '#/components/schemas/Comment' emotionsData: type: object description: Aggregated emotions (likes) on an entity properties: like: type: object properties: paging: type: object description: Pagination cursor info properties: totalCount: type: integer description: Total number of items example: 42 offsetEntityId: type: string description: Opaque cursor for next page example: b2c3d4e5-f6a7-4890-bcde-f23456789012 next: type: string description: URL to next page example: /api/v1/reactions/3fa85f64-5717-4562-b3fc-2c963f66afa6/emotions?offset=10&take=10 emotions: type: array items: $ref: '#/components/schemas/Emotion' requesterContext: type: object description: Requester's relationship state with the comment properties: isOwner: type: boolean description: Requester is the comment owner example: false isFlaggingAsSpam: type: boolean description: Requester flagged this as spam example: false isSubscribed: type: boolean description: Requester is subscribed to notifications example: false isLiking: type: boolean description: Requester has liked this comment example: false isSaved: type: boolean description: Requester has saved this comment example: false isPinned: type: boolean description: Comment is pinned example: false isRequesterBlocking: type: boolean description: Requester is blocking the comment owner example: false isInteractionRestricted: type: boolean description: Owner has blocked the requester example: false Emotion: type: object description: A like reaction on a post or comment properties: type: type: string enum: - Like description: Emotion type (currently only Like is supported) example: Like id: type: string description: Emotion ID example: b2c3d4e5-f6a7-4890-bcde-f23456789012 owner: $ref: '#/components/schemas/User' obsoleteId: type: string description: Legacy numeric emotion ID example: '54321' parent: type: object description: Parent entity reference properties: id: type: string description: Parent entity ID example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 obsoleteId: type: string description: Legacy parent ID example: '12345' type: type: string enum: - Unknown - Post - Comment - Reply description: Parent entity type example: Post created: type: string format: date-time description: When the like was created example: '2025-01-15T10:30:00Z' CommentUpdateRequest: type: object description: Request body for updating a comment or reply. Owner is derived from the auth token — do not supply it. properties: message: type: string description: Updated text content example: Great point, I updated my view after reading more. attachments: $ref: '#/components/schemas/Attachments' CommentsResponse: type: object description: Paginated list of comments or replies on a parent entity properties: reactionPaging: type: object description: Pagination info properties: totalCount: type: integer description: Total number of comments/replies example: 42 offsetEntityId: type: string description: Opaque cursor for next page example: 7c9e6679-7425-40de-944b-e07fc1f90ae7 next: type: string description: URL to fetch the next page example: /api/v1/reactions/3fa85f64-5717-4562-b3fc-2c963f66afa6/comments?take=20&offsetEntityId=7c9e6679-7425-40de-944b-e07fc1f90ae7 comments: type: array description: List of comment/reply items items: $ref: '#/components/schemas/Comment'