eToro Posts API
The Posts API from eToro — 9 operation(s) for posts.
The Posts API from eToro — 9 operation(s) for posts.
openapi: 3.0.1
info:
title: Deprecated eToro Public API operations Agent Portfolios Posts 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: Posts
paths:
/api/v1/posts:
post:
tags:
- Posts
summary: Create a new discussion post
description: Creates a new discussion post in the feed system. This endpoint allows users to create posts that can be associated with instruments, users, or general discussions.
requestBody:
description: Discussion post creation details
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DiscussionCreateRequest'
responses:
'201':
description: Post created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Post'
'401':
description: Authentication required
'403':
description: User is blocked
'422':
description: Validation error — content rejected (e.g. by the spam classifier) or fields contain invalid data
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 5753c12d-ff72-498d-b879-50e6b5f3fced
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.
operationId: createANewDiscussionPost2
/api/v1/posts/polls:
post:
tags:
- Posts
summary: Create a poll post
description: Creates a new poll post. The poll must include a title and at least 2 options. Once created the poll is immutable — options and title cannot be changed. The post itself can still be deleted.
requestBody:
description: Poll post content
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PollCreateRequest'
responses:
'201':
description: Poll post created
content:
application/json:
schema:
$ref: '#/components/schemas/Post'
'401':
description: Authentication required
'422':
description: Validation error — missing message, missing poll title/options, or poll creation failed
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 5d8b0fa3-0fdf-477d-810a-07540f21634c
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.
operationId: createAPollPost
/api/v1/posts/shares:
post:
tags:
- Posts
summary: Share a post
description: 'Creates a share post that references an existing post. Two variants are supported:
- **Reshare** — send `message` as an empty string (`""`).
- **Quote share** — send `message` with your commentary text.
Returns 201 on success. See the request body for field-level semantics, including how to collapse share chains.'
requestBody:
description: '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.'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SharePostRequest'
examples:
reshare:
summary: Reshare (empty message)
value:
message: ''
sharedOriginDiscussion: d9020c00-c364-11ee-8080-80005148990b
quoteShare:
summary: Quote share with commentary
value:
message: Great insight on Tesla!
sharedOriginDiscussion: d9020c00-c364-11ee-8080-80005148990b
responses:
'201':
description: Share post created
content:
application/json:
schema:
$ref: '#/components/schemas/Post'
'400':
description: Request body is missing or malformed
'401':
description: Authentication required
'403':
description: Original owner has blocked the requester or restricted interactions
'404':
description: Original post not found
'422':
description: Validation failed — quote message rejected by spam classifier
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: ea5262ff-a374-4562-ba2f-796b6952d27d
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.
operationId: shareAPost
/api/v1/posts/{postId}:
get:
tags:
- Posts
summary: Get a single post by ID
description: Retrieves a single discussion post by its ID, including comments preview, emotions data, and requester context. Authentication is optional — unauthenticated requests receive the post without personalised requester context.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 1b132bec-2bf1-408f-9eab-bd2f8f2e111b
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 retrieve (UUID)
required: true
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
- name: take
in: query
description: Number of inline comments to include in the response
schema:
type: integer
format: int32
default: 10
minimum: 0
- name: badgesExperimentIsEnabled
in: query
description: Flag indicating whether to include user badges in the response
schema:
type: boolean
default: false
responses:
'200':
description: Post retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Discussion'
'404':
description: Post not found
operationId: getASinglePostById
put:
tags:
- Posts
summary: Update an existing post
description: 'Updates the authenticated user''s own post in-place. The owner field is derived from the authentication token and must not be supplied in the request body. Editable fields: message, tags, mentions, attachments.'
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 76f7af16-4288-4593-bdcb-2a5ebde24206
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 update (UUID)
required: true
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
requestBody:
description: Fields to update on the post
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DiscussionUpdateRequest'
responses:
'200':
description: Post updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Post'
'401':
description: Authentication required
'403':
description: Requester is not the post owner
'404':
description: Post not found
'422':
description: Validation failed — missing message body or spam classification rejected the content
operationId: updateAnExistingPost
delete:
tags:
- Posts
summary: Soft-delete a post
description: Soft-deletes the authenticated user's own post. Sets isDeleted=true and blanks message text and attachments. Child comments and like/comment counters are preserved. The post is removed from all feed listings.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 45db71f3-a995-4d82-9045-09549e2ed826
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 delete (UUID)
required: true
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post deleted successfully
'401':
description: Authentication required
'403':
description: Requester is not the post owner
'404':
description: Post not found or already deleted
operationId: softDeleteAPost
/api/v1/posts/{postId}/follows:
post:
tags:
- Posts
summary: Follow a post
description: Subscribes the authenticated user to push notifications when the post receives new comments or replies. Drives requesterContext.isFollowing on subsequent reads. Idempotent — following an already-followed post succeeds silently. This endpoint takes no request body.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 8c323824-8cb8-4a46-9678-fdf120c4041b
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
required: true
description: ID of the post to follow (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post followed successfully
'401':
description: Authentication required
'404':
description: Post not found
operationId: followAPost
delete:
tags:
- Posts
summary: Unfollow a post
description: Unsubscribes the authenticated user from notifications on this post. Idempotent — unfollowing a post that was never followed succeeds silently.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 416f6c1d-ec6e-49de-95e2-b3a3f6d97931
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
required: true
description: ID of the post to unfollow (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post unfollowed successfully
'401':
description: Authentication required
'404':
description: Post not found
operationId: unfollowAPost
/api/v1/posts/{postId}/pins:
post:
tags:
- Posts
summary: Pin a post to the user's profile
description: Pins the specified post to the authenticated user's profile so it appears at the top of their feed. Users can pin only their own posts. The call is idempotent — pinning an already-pinned post succeeds silently.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 884c9142-5d07-4d52-8cad-1987df6cc40b
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
required: true
description: ID of the post to pin (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post pinned successfully
'401':
description: Authentication required
'403':
description: Requester is not allowed to pin the specified post (e.g., not the post owner)
'404':
description: Post not found
operationId: pinPostUserSProfile
delete:
tags:
- Posts
summary: Unpin a post from the user's profile
description: Removes the authenticated user's pin from the specified post. The call is idempotent — unpinning a post that is not currently pinned succeeds silently.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 8ab4fe00-2b4a-4448-83cc-b9a043ee46f7
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
required: true
description: ID of the post to unpin (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post unpinned successfully
'401':
description: Authentication required
'403':
description: Requester is not allowed to unpin the specified post
'404':
description: Post not found
operationId: unpinPostUserSProfile
/api/v1/posts/{postId}/polls/{pollId}/options/{optionId}/votes:
post:
tags:
- Posts
summary: Vote on a poll option
description: Casts the authenticated user's vote on a specific poll option. Each user can vote only once per poll. Poll owners cannot vote on their own poll.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: ead15c94-1028-43ec-aafa-4c5463f10fe5
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
required: true
description: ID of the post containing the poll (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
- name: pollId
in: path
required: true
description: ID of the poll
schema:
type: integer
example: 42
- name: optionId
in: path
required: true
description: ID of the option to vote for
schema:
type: integer
example: 1
- name: client_request_id
in: query
required: true
description: Client-generated correlation ID (UUID). Required for request tracing and idempotency.
schema:
type: string
format: uuid
example: 6a7aa746-d94d-4c4f-a755-32827ea53141
responses:
'202':
description: Vote accepted
'401':
description: Authentication required
'404':
description: Post, poll, or option not found
'422':
description: Poll is not part of the specified post
operationId: voteOnAPollOption
delete:
tags:
- Posts
summary: Remove a vote from a poll option
description: Removes the authenticated user's vote from a specific poll option.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 3d00f370-1781-432d-8075-c9d96c5baca8
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
required: true
description: ID of the post containing the poll (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
- name: pollId
in: path
required: true
description: ID of the poll
schema:
type: integer
example: 42
- name: optionId
in: path
required: true
description: ID of the option to unvote
schema:
type: integer
example: 1
- name: client_request_id
in: query
required: true
description: Client-generated correlation ID (UUID). Required for request tracing and idempotency.
schema:
type: string
format: uuid
example: 6a7aa746-d94d-4c4f-a755-32827ea53141
responses:
'202':
description: Unvote accepted
'401':
description: Authentication required
'404':
description: Post, poll, or option not found
'422':
description: Poll is not part of the specified post
operationId: removeVotePollOption
/api/v1/posts/{postId}/saves:
post:
tags:
- Posts
summary: Save a post
description: Bookmarks a post for the authenticated user. Idempotent — saving an already-saved post succeeds silently. The save is private and visible only to the saving user. This endpoint takes no request body.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: bb0966f0-4e46-454e-9048-38f04b90ad42
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
required: true
description: ID of the post to save (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post saved successfully
'401':
description: Authentication required
'404':
description: Post not found
operationId: saveAPost
delete:
tags:
- Posts
summary: Unsave a post
description: Removes a post from the authenticated user's saved bookmarks. Idempotent — unsaving a post that was never saved succeeds silently.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 69962b64-4570-4f97-bf18-54aacc33d036
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
required: true
description: ID of the post to unsave (UUID)
schema:
type: string
format: uuid
example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
responses:
'204':
description: Post unsaved successfully
'401':
description: Authentication required
'404':
description: Post not found
operationId: unsaveAPost
/api/v1/posts/{postId}/shares:
get:
tags:
- Posts
summary: List shares of a post
description: Returns a paginated list of shares of the specified post, including both plain reshares and quote shares. Authentication is optional.
parameters:
- name: x-request-id
in: header
required: true
schema:
type: string
format: uuid
example: 671cbf93-9d82-4172-bd6d-a63fe408e3d1
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
required: true
description: ID of the post to list shares of (UUID)
schema:
type: string
format: uuid
example: d9020c00-c364-11ee-8080-80005148990b
- 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 a previous response for stable paging
schema:
type: string
example: c3d4e5f6-a7b8-4901-cdef-345678901234
- name: order
in: query
description: Sort order
schema:
type: string
enum:
- Asc
- Desc
default: Desc
example: Desc
- name: client_request_id
in: query
required: true
description: Client-generated correlation ID (UUID). Required for request tracing and idempotency.
schema:
type: string
format: uuid
example: 2b6361e3-079c-42a1-b6d5-4b9c16601ae1
responses:
'200':
description: Paginated list of shares
content:
application/json:
schema:
$ref: '#/components/schemas/SharesResponse'
'404':
description: Post not found
operationId: listSharesOfAPost
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
e
# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/etoro/refs/heads/main/openapi/etoro-posts-api-openapi.yml