eToro · Schema

Discussion

A single discussion entry in a feed — wraps a Post with its interaction data

Social TradingCopy TradingInvestingMarket DataPortfolio ManagementFintechTradingStocksCryptocurrencyETFs

Properties

Name Type Description
id string Discussion wrapper ID (same as post ID)
post object
commentsData object Inline comments preview
emotionsData object Aggregated emotions (likes) on an entity
requesterContext object Requester's relationship state with the post
summary object Post-level engagement counters
reason object Why this post appears in the feed (ForYou only). May be null or an object: { type: 'followed-user'|'instrument-trending', sourceId, owner }
View JSON Schema on GitHub

JSON Schema

Discussion.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/etoro/refs/heads/main/json-schema/Discussion.json",
  "title": "Discussion",
  "type": "object",
  "description": "A single discussion entry in a feed \u2014 wraps a Post with its interaction data",
  "properties": {
    "id": {
      "type": "string",
      "description": "Discussion wrapper ID (same as post ID)",
      "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    },
    "post": {
      "$ref": "#/components/schemas/DiscussionsPost"
    },
    "commentsData": {
      "type": "object",
      "description": "Inline comments preview",
      "properties": {
        "reactionPaging": {
          "type": "object",
          "properties": {
            "totalCount": {
              "type": "integer",
              "description": "Total comment count on this post",
              "example": 14
            }
          }
        },
        "comments": {
          "type": "array",
          "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 post",
      "properties": {
        "isOwner": {
          "type": "boolean",
          "description": "Requester is the post 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 post",
          "example": true
        },
        "isSaved": {
          "type": "boolean",
          "description": "Requester has saved this post",
          "example": false
        },
        "isPinned": {
          "type": "boolean",
          "description": "Post is pinned for the requester",
          "example": false
        },
        "isRequesterBlocking": {
          "type": "boolean",
          "description": "Requester is blocking the post owner",
          "example": false
        },
        "isInteractionRestricted": {
          "type": "boolean",
          "description": "Owner has blocked the requester",
          "example": false
        },
        "isFollowing": {
          "type": "boolean",
          "description": "Requester is following this post",
          "example": true
        }
      }
    },
    "summary": {
      "type": "object",
      "description": "Post-level engagement counters",
      "properties": {
        "totalCommentsAndReplies": {
          "type": "integer",
          "description": "Sum of all comments and replies",
          "example": 14
        },
        "sharedCount": {
          "type": "integer",
          "description": "Number of times this post has been shared",
          "example": 3
        }
      }
    },
    "reason": {
      "nullable": true,
      "description": "Why this post appears in the feed (ForYou only). May be null or an object: { type: 'followed-user'|'instrument-trending', sourceId, owner }",
      "example": {
        "type": "followed-user",
        "sourceId": "7890",
        "owner": "johndoe"
      }
    }
  }
}