Skip to main content

Repost

Reshare a post that is already live. LinkedIn creates a new share with optional commentary. X retweets the original post. Threads reposts the original post, including your own posts from the same account, and returns the id of the repost.

Platform support​

PlatformRepost
LinkedIn✅
X✅
Threads✅

Endpoint​

POST /api/uploadposts/posts/repost

Alias: POST /api/uploadposts/posts/action with "action": "repost" (LinkedIn).

Headers​

NameValueDescription
AuthorizationApikey your-api-key-hereYour API key for authentication
Content-Typeapplication/jsonRequest body format

Body Parameters (JSON)​

NameTypeRequiredDescription
platformStringYeslinkedin, x or threads.
userStringYesProfile username.
post_idStringYesPost to repost. For Threads, the numeric Threads media id (the post_id returned when you published it).
commentaryStringNoLinkedIn reshare commentary.
target_linkedin_page_idStringNoLinkedIn organization to reshare as.

Example Request​

curl -X POST https://api.upload-post.com/api/uploadposts/posts/repost \
-H 'Authorization: Apikey your-api-key-here' \
-H 'Content-Type: application/json' \
-d '{
"platform": "linkedin",
"user": "my-profile",
"post_id": "urn:li:share:123",
"commentary": "Worth sharing"
}'

X:

curl -X POST https://api.upload-post.com/api/uploadposts/posts/repost \
-H 'Authorization: Apikey your-api-key-here' \
-H 'Content-Type: application/json' \
-d '{
"platform": "x",
"user": "my-profile",
"post_id": "1234567890123456789"
}'

Threads:

curl -X POST https://api.upload-post.com/api/uploadposts/posts/repost \
-H 'Authorization: Apikey your-api-key-here' \
-H 'Content-Type: application/json' \
-d '{
"platform": "threads",
"user": "my-profile",
"post_id": "18127529740865801"
}'

Successful Response (200 OK)​

LinkedIn:

{
"success": true,
"message": "LinkedIn post reshared.",
"post_id": "urn:li:share:456",
"url": "https://www.linkedin.com/feed/update/urn:li:share:456/",
"parent_post_id": "urn:li:share:123",
"author": "urn:li:person:789"
}

X:

{
"success": true,
"platform": "x",
"post_id": "1234567890123456789",
"reposted": true,
"repost_id": "9876543210"
}

Threads (repost_id is the repost's own media id; url is its permalink when Threads returns one):

{
"success": true,
"platform": "threads",
"post_id": "18127529740865801",
"reposted": true,
"repost_id": "18412788490082284",
"url": "https://www.threads.com/@my_account/post/DeT4sGbDI7I"
}

Error Responses​

  • 400 Bad Request — missing fields, or a platform other than linkedin / x / threads.
  • 403 Forbidden — the connected account is not authorized to repost.
  • 404 Not Found — no post found for the given post_id.
  • 409 Conflict (Threads) — error_code: "already_reposted": this account already reposted that post.
  • 500 Internal Server Error