openapi: 3.0.1 info: title: Deprecated eToro Public API operations Agent Portfolios Comments 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 paths: /api/v1/reactions/{postId}/comment: post: tags: - Comments 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: c8c54f0a-3535-4a31-bed5-7f025f527d17 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 required: true schema: type: string example: '12345' requestBody: description: Comment creation details required: true content: application/json: schema: $ref: '#/components/schemas/CommentCreateRequest' responses: '201': description: Comment created successfully content: application/json: schema: $ref: '#/components/schemas/Comment' operationId: createACommentOnAPost2 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'