eToro · Schema

Post

A feed post returned by create / update / get-by-ID

Social TradingCopy TradingInvestingMarket DataPortfolio ManagementFintechTradingStocksCryptocurrencyETFs

Properties

Name Type Description
id string Unique post ID
owner object
obsoleteId string Legacy numeric post ID
created string Creation timestamp
message object Post/comment text content
updated string Last-edited timestamp
isDeleted boolean True when the post has been soft-deleted
type string Post type
metadata object Post type–specific metadata — only the relevant key is populated
attachments array
tags array
mentions array
isSpam boolean True when the post is classified as spam
editStatus string Edit lifecycle status
View JSON Schema on GitHub

JSON Schema

Post.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/etoro/refs/heads/main/json-schema/Post.json",
  "title": "Post",
  "type": "object",
  "description": "A feed post returned by create / update / get-by-ID",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique post ID",
      "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    },
    "owner": {
      "$ref": "#/components/schemas/User"
    },
    "obsoleteId": {
      "type": "string",
      "description": "Legacy numeric post ID",
      "example": "12345"
    },
    "created": {
      "type": "string",
      "format": "date-time",
      "description": "Creation timestamp",
      "example": "2025-01-15T10:30: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"
        }
      }
    },
    "updated": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "Last-edited timestamp",
      "example": "2025-01-16T08:00:00Z"
    },
    "isDeleted": {
      "type": "boolean",
      "description": "True when the post has been soft-deleted",
      "example": false
    },
    "type": {
      "type": "string",
      "enum": [
        "Default",
        "Share",
        "MarketEvent",
        "Trade",
        "Order",
        "Copy",
        "Poll",
        "Article"
      ],
      "description": "Post type",
      "example": "Default"
    },
    "metadata": {
      "type": "object",
      "description": "Post type\u2013specific metadata \u2014 only the relevant key is populated",
      "properties": {
        "share": {
          "type": "object",
          "description": "Share metadata \u2014 present when type is Share",
          "properties": {
            "sharedPost": {
              "$ref": "#/components/schemas/Post"
            },
            "sharedOriginPost": {
              "$ref": "#/components/schemas/Post"
            }
          }
        },
        "marketEvent": {
          "type": "object",
          "description": "Market event metadata \u2014 present when type is MarketEvent",
          "properties": {
            "earningReportId": {
              "type": "integer",
              "description": "Earnings report ID",
              "example": 1042
            },
            "market": {
              "$ref": "#/components/schemas/Market"
            },
            "stocksIndustryId": {
              "type": "integer",
              "description": "Industry sector ID",
              "example": 15
            },
            "earningsDate": {
              "type": "string",
              "format": "date-time",
              "description": "Earnings announcement date",
              "example": "2025-01-15T10:30:00Z"
            },
            "isBeforeMarketOpen": {
              "type": "boolean",
              "description": "Event occurs before market open",
              "example": true
            },
            "earningsYear": {
              "type": "integer",
              "description": "Fiscal year of earnings",
              "example": 2025
            },
            "earningsQuarter": {
              "type": "integer",
              "description": "Fiscal quarter (1\u20134)",
              "example": 1
            },
            "verified": {
              "type": "boolean",
              "description": "Whether the event data is verified",
              "example": true
            },
            "marketCap": {
              "type": "number",
              "format": "double",
              "description": "Market capitalisation in USD",
              "example": 800000000000
            },
            "estimatedEps": {
              "type": "number",
              "format": "double",
              "description": "Estimated earnings per share",
              "example": 1.42
            },
            "estimatedSales": {
              "type": "number",
              "format": "double",
              "description": "Estimated revenue in USD",
              "example": 25000000000
            },
            "tagName": {
              "type": "string",
              "enum": [
                "Reports",
                "Dividends",
                "Split",
                "ReverseSplit"
              ],
              "description": "Event tag",
              "example": "Reports"
            },
            "textKey": {
              "type": "integer",
              "description": "Localisation key for event label",
              "example": 3
            }
          }
        },
        "trade": {
          "type": "object",
          "description": "Trade metadata \u2014 present when type is Trade",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "Open",
                "Close"
              ],
              "description": "Trade lifecycle stage",
              "example": "Open"
            },
            "positionId": {
              "type": "integer",
              "description": "Internal position ID",
              "example": 987654321
            },
            "market": {
              "$ref": "#/components/schemas/Market"
            },
            "gain": {
              "type": "number",
              "format": "float",
              "description": "P&L gain/loss percentage",
              "example": 12.5
            },
            "rate": {
              "type": "number",
              "format": "float",
              "description": "Entry/exit rate",
              "example": 245.3
            },
            "direction": {
              "type": "string",
              "enum": [
                "Long",
                "Short"
              ],
              "description": "Trade direction",
              "example": "Long"
            }
          }
        },
        "order": {
          "type": "object",
          "description": "Order metadata \u2014 present when type is Order",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "Open",
                "Close"
              ],
              "description": "Order lifecycle stage",
              "example": "Open"
            },
            "orderId": {
              "type": "integer",
              "description": "Internal order ID",
              "example": 123456789
            },
            "market": {
              "$ref": "#/components/schemas/Market"
            },
            "rate": {
              "type": "number",
              "format": "float",
              "description": "Limit/entry rate",
              "example": 240
            },
            "direction": {
              "type": "string",
              "enum": [
                "Long",
                "Short"
              ],
              "description": "Order direction",
              "example": "Long"
            }
          }
        },
        "copy": {
          "type": "object",
          "description": "Copy metadata \u2014 present when type is Copy",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "Start",
                "Stop"
              ],
              "description": "Copy event type",
              "example": "Start"
            },
            "user": {
              "$ref": "#/components/schemas/User"
            }
          }
        },
        "poll": {
          "type": "object",
          "description": "Poll metadata \u2014 present when type is Poll",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Poll ID",
              "example": 55
            },
            "title": {
              "type": "string",
              "description": "Poll question",
              "example": "Where do you see $TSLA by year-end?"
            },
            "gcid": {
              "type": "integer",
              "description": "Poll creator GCID",
              "example": 7890
            },
            "options": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Option ID",
                    "example": 1
                  },
                  "index": {
                    "type": "integer",
                    "description": "Display order (1-based, matches the index supplied at poll creation)",
                    "example": 1,
                    "minimum": 1
                  },
                  "text": {
                    "type": "string",
                    "description": "Option label",
                    "example": "Bullish"
                  },
                  "isUserVoted": {
                    "type": "boolean",
                    "description": "Requester voted for this option",
                    "example": false
                  },
                  "votesCount": {
                    "type": "integer",
                    "description": "Total votes for this option",
                    "example": 128
                  }
                }
              }
            }
          }
        },
        "article": {
          "type": "object",
          "description": "Article metadata \u2014 present when post type is Article",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Article ID",
              "example": 9001
            },
            "title": {
              "type": "string",
              "description": "Article title",
              "example": "Why TSLA Could Hit $500 This Year"
            },
            "url": {
              "type": "string",
              "description": "Canonical article URL",
              "example": "https://etoro.com/news/markets/articles/why-tsla-could-hit-500"
            },
            "rating": {
              "type": "string",
              "enum": [
                "Bearish",
                "Bullish"
              ],
              "nullable": true,
              "description": "Analyst rating",
              "example": "Bullish"
            },
            "featuredImage": {
              "$ref": "#/components/schemas/Attachment"
            },
            "body": {
              "type": "string",
              "description": "Full article HTML body",
              "example": "<p>Tesla has shown strong fundamentals...</p>"
            },
            "bodyPreview": {
              "type": "string",
              "description": "Plain-text preview (\u2248200 chars)",
              "example": "Tesla has shown strong fundamentals this quarter..."
            },
            "aiSummary": {
              "type": "string",
              "description": "AI-generated summary",
              "example": "Analyst argues Tesla's pipeline supports a $500 target by year-end."
            },
            "languageCode": {
              "type": "string",
              "description": "BCP-47 language code",
              "example": "en"
            },
            "status": {
              "type": "string",
              "enum": [
                "Draft",
                "Published",
                "Deleted"
              ],
              "description": "Publication status",
              "example": "Published"
            },
            "editStatus": {
              "type": "string",
              "enum": [
                "None",
                "Edited",
                "Moderated"
              ],
              "description": "Edit status",
              "example": "None"
            },
            "ownerId": {
              "type": "integer",
              "description": "Author's internal user ID",
              "example": 7890
            },
            "created": {
              "type": "string",
              "format": "date-time",
              "description": "When the article was created",
              "example": "2025-01-15T10:30:00Z"
            },
            "updated": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Last edit timestamp",
              "example": "2025-01-16T08:00:00Z"
            },
            "published": {
              "type": "string",
              "format": "date-time",
              "nullable": true,
              "description": "Publication timestamp",
              "example": "2025-01-16T09:00:00Z"
            },
            "readingTimeMinutes": {
              "type": "number",
              "format": "float",
              "description": "Estimated reading time",
              "example": 3.5
            },
            "wordCount": {
              "type": "integer",
              "description": "Word count",
              "example": 750
            }
          }
        }
      }
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Attachment"
      }
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "market": {
            "$ref": "#/components/schemas/Market"
          }
        }
      }
    },
    "mentions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "isDirect": {
            "type": "boolean",
            "description": "Direct @-mention",
            "example": true
          }
        }
      }
    },
    "isSpam": {
      "type": "boolean",
      "description": "True when the post is classified as spam",
      "example": false
    },
    "editStatus": {
      "type": "string",
      "enum": [
        "None",
        "Edited",
        "Moderated"
      ],
      "description": "Edit lifecycle status",
      "example": "None"
    }
  }
}