Skip to main content
POST

Authorizations

Authorization
string
header
required

eToro OAuth2. Each operation lists the scopes that grant access as separate security requirements (OpenAPI OR semantics): the caller's token only needs ONE of them — you do NOT need all of them. The same scopes back the x-api-key/x-user-key credential pair.

Headers

x-request-id
string<uuid>
required

A unique request identifier.

Example:

"9d799e96-a6b9-4883-918c-1fe9ec7ccb8f"

x-api-key
string<password>
required

API key for authentication.

Example:

"lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663"

x-user-key
string<password>
required

User-specific authentication key.

Example:

"eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_"

Body

application/json

Share payload.

  • message (required) — set to "" for a reshare, or to your commentary text for a quote share. Must be present; cannot be null.
  • sharedOriginDiscussion (required) — the ID of the post being shared.
  • sharedDiscussionId (optional) — set this only when sharedOriginDiscussion itself points to a share. It collapses the chain so the created Post's metadata.share.sharedPost refers to sharedDiscussionId and metadata.share.sharedOriginPost refers to sharedOriginDiscussion, giving readers a flat 2-level reference instead of recursing through the share history. Leave unset for first-level shares.

Request body for sharing a post. Both message and sharedOriginDiscussion are required. Use message = "" for a reshare or a non-empty message for a quote share.

message
string
required

Required. Set to "" (empty string) for a reshare, or to the commentary text for a quote share. Cannot be null or omitted.

Example:

""

sharedOriginDiscussion
string
required

Required. ID of the post being shared.

Example:

"d9020c00-c364-11ee-8080-80005148990b"

sharedDiscussionId
string

Optional. Only set this when sharedOriginDiscussion itself points to a share — it identifies the intermediate share, so the created Post's metadata.share.sharedPost is set to this post and metadata.share.sharedOriginPost to sharedOriginDiscussion, collapsing the chain to a 2-level reference in subsequent reads. Leave unset for first-level shares.

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

attachments
object[]

List of attachments for a post or comment (request body format)

Response

Share post created

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

id
string

Unique post ID

Example:

"3fa85f64-5717-4562-b3fc-2c963f66afa6"

owner
object

eToro user profile (slim projection)

obsoleteId
string

Legacy numeric post ID

Example:

"12345"

created
string<date-time>

Creation timestamp

Example:

"2025-01-15T10:30:00Z"

message
object

Post/comment text content

updated
string<date-time> | null

Last-edited timestamp

Example:

"2025-01-16T08:00:00Z"

isDeleted
boolean

True when the post has been soft-deleted

Example:

false

type
enum<string>

Post type

Available options:
Default,
Share,
MarketEvent,
Trade,
Order,
Copy,
Poll,
Article
Example:

"Default"

metadata
object

Post type–specific metadata — only the relevant key is populated

attachments
object[]
tags
object[]
mentions
object[]
isSpam
boolean

True when the post is classified as spam

Example:

false

editStatus
enum<string>

Edit lifecycle status

Available options:
None,
Edited,
Moderated
Example:

"None"