curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"postId": "RhrbDtYh7hdSMc67zC8H",
"platforms": ["twitter", "facebook", "linkedin"],
"scheduleDate": "2026-07-08T12:30:00Z"
}' \
-X POST https://api.ayrshare.com/api/post/copy
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post/copy", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`
},
body: JSON.stringify({
postId: "RhrbDtYh7hdSMc67zC8H", // required
platforms: ["twitter", "facebook", "linkedin"], // required
scheduleDate: "2026-07-08T12:30:00Z", // optional
faceBookOptions: {
link: "https://example.com/new-link"
}
})
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {
'postId': 'RhrbDtYh7hdSMc67zC8H',
'platforms': ['twitter', 'facebook', 'linkedin'],
'scheduleDate': '2026-07-08T12:30:00Z',
'faceBookOptions': {
'link': 'https://example.com/new-link'
}
}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'
}
r = requests.post('https://api.ayrshare.com/api/post/copy',
json=payload,
headers=headers)
print(r.json())
<?php
$curl = curl_init();
$data = [
"postId" => "RhrbDtYh7hdSMc67zC8H",
"platforms" => ["twitter", "facebook", "linkedin"],
"scheduleDate" => "2026-07-08T12:30:00Z",
"faceBookOptions" => [
"link" => "https://example.com/new-link"
]
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ayrshare.com/api/post/copy',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer API_KEY',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"postId": "RhrbDtYh7hdSMc67zC8H",
"platforms": []string{"twitter", "facebook", "linkedin"},
"scheduleDate": "2026-07-08T12:30:00Z",
"faceBookOptions": map[string]interface{}{
"link": "https://example.com/new-link",
},
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post/copy",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace PostCopyRequest_csharp
{
class PostCopy
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post/copy";
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
string json = "{\"postId\" : \"RhrbDtYh7hdSMc67zC8H\","
+ "\"platforms\" : [ \"twitter\", \"facebook\", \"linkedin\" ],"
+ "\"scheduleDate\" : \"2026-07-08T12:30:00Z\"}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
require 'httparty'
res = HTTParty.post("https://api.ayrshare.com/api/post/copy",
headers: {Authorization: "Bearer API_KEY"},
body: {
postId: "RhrbDtYh7hdSMc67zC8H",
platforms: ['twitter', 'facebook', 'linkedin'],
scheduleDate: '2026-07-08T12:30:00Z',
faceBookOptions: {
link: 'https://example.com/new-link'
}
}).body
puts res
{
"status": "success",
"copiedFrom": "RhrbDtYh7hdSMc67zC8H",
"originalPost": "Today is a great day!",
"errors": [],
"postIds": [
{
"status": "success",
"id": "1288899996423983106",
"platform": "twitter",
"postUrl": "https://x.com/handle/status/1288899996423983106"
},
{
"status": "success",
"id": "104923907983682_108329000309743",
"platform": "facebook",
"postUrl": "https://www.facebook.com/104923907983682_108329000309743"
},
{
"status": "success",
"id": "urn:li:share:7282181682126807042",
"postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7282181682126807042",
"owner": "urn:li:organization:77682157",
"platform": "linkedin"
}
],
"id": "KpwxFmNj3kgQLa92vE5T"
}
{
"status": "scheduled",
"scheduleDate": "2025-05-28T14:32:00Z",
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18",
"copiedFrom": "RhrbDtYh7hdSMc67zC8H",
"originalPost": "Today is a great day!"
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Threads is not linked. Please confirm the linkage on the Social Accounts page in the dashboard. https://www.ayrshare.com/docs/dashboard/connect-social-accounts/overview",
"platform": "threads"
}
],
"postIds": [],
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18"
}
{
"status": "error",
"code": 163,
"message": "Missing, empty, or not valid platforms parameter. Please verify sending an array of valid platforms. https://www.ayrshare.com/docs/apis/post",
"details": "platforms parameter is required for copying posts"
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 137,
"message": "Duplicate or similar content posted within the same two day period. The social networks prohibit duplicate content and ban accounts that do not comply. https://www.ayrshare.com/docs/help-center/technical-support/dealing_with_duplicate_posts#dealing-with-duplicate-posts",
"details": "Duplicate found in user profile: \"Primary Profile\", post id: e5ELaDhKjhJBU1z6dbud, and refId: 5da3de47a8e3b1d8c2bd319350aa7d4e85d4ec74",
"verifyCheck": true,
"platform": "twitter"
}
],
"postIds": [],
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18"
}
Post
Copy a Post
Copy an existing post to new social media platforms
POST
/
post
/
copy
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"postId": "RhrbDtYh7hdSMc67zC8H",
"platforms": ["twitter", "facebook", "linkedin"],
"scheduleDate": "2026-07-08T12:30:00Z"
}' \
-X POST https://api.ayrshare.com/api/post/copy
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post/copy", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`
},
body: JSON.stringify({
postId: "RhrbDtYh7hdSMc67zC8H", // required
platforms: ["twitter", "facebook", "linkedin"], // required
scheduleDate: "2026-07-08T12:30:00Z", // optional
faceBookOptions: {
link: "https://example.com/new-link"
}
})
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {
'postId': 'RhrbDtYh7hdSMc67zC8H',
'platforms': ['twitter', 'facebook', 'linkedin'],
'scheduleDate': '2026-07-08T12:30:00Z',
'faceBookOptions': {
'link': 'https://example.com/new-link'
}
}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'
}
r = requests.post('https://api.ayrshare.com/api/post/copy',
json=payload,
headers=headers)
print(r.json())
<?php
$curl = curl_init();
$data = [
"postId" => "RhrbDtYh7hdSMc67zC8H",
"platforms" => ["twitter", "facebook", "linkedin"],
"scheduleDate" => "2026-07-08T12:30:00Z",
"faceBookOptions" => [
"link" => "https://example.com/new-link"
]
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ayrshare.com/api/post/copy',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer API_KEY',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"postId": "RhrbDtYh7hdSMc67zC8H",
"platforms": []string{"twitter", "facebook", "linkedin"},
"scheduleDate": "2026-07-08T12:30:00Z",
"faceBookOptions": map[string]interface{}{
"link": "https://example.com/new-link",
},
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post/copy",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace PostCopyRequest_csharp
{
class PostCopy
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post/copy";
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
string json = "{\"postId\" : \"RhrbDtYh7hdSMc67zC8H\","
+ "\"platforms\" : [ \"twitter\", \"facebook\", \"linkedin\" ],"
+ "\"scheduleDate\" : \"2026-07-08T12:30:00Z\"}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
require 'httparty'
res = HTTParty.post("https://api.ayrshare.com/api/post/copy",
headers: {Authorization: "Bearer API_KEY"},
body: {
postId: "RhrbDtYh7hdSMc67zC8H",
platforms: ['twitter', 'facebook', 'linkedin'],
scheduleDate: '2026-07-08T12:30:00Z',
faceBookOptions: {
link: 'https://example.com/new-link'
}
}).body
puts res
{
"status": "success",
"copiedFrom": "RhrbDtYh7hdSMc67zC8H",
"originalPost": "Today is a great day!",
"errors": [],
"postIds": [
{
"status": "success",
"id": "1288899996423983106",
"platform": "twitter",
"postUrl": "https://x.com/handle/status/1288899996423983106"
},
{
"status": "success",
"id": "104923907983682_108329000309743",
"platform": "facebook",
"postUrl": "https://www.facebook.com/104923907983682_108329000309743"
},
{
"status": "success",
"id": "urn:li:share:7282181682126807042",
"postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7282181682126807042",
"owner": "urn:li:organization:77682157",
"platform": "linkedin"
}
],
"id": "KpwxFmNj3kgQLa92vE5T"
}
{
"status": "scheduled",
"scheduleDate": "2025-05-28T14:32:00Z",
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18",
"copiedFrom": "RhrbDtYh7hdSMc67zC8H",
"originalPost": "Today is a great day!"
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Threads is not linked. Please confirm the linkage on the Social Accounts page in the dashboard. https://www.ayrshare.com/docs/dashboard/connect-social-accounts/overview",
"platform": "threads"
}
],
"postIds": [],
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18"
}
{
"status": "error",
"code": 163,
"message": "Missing, empty, or not valid platforms parameter. Please verify sending an array of valid platforms. https://www.ayrshare.com/docs/apis/post",
"details": "platforms parameter is required for copying posts"
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 137,
"message": "Duplicate or similar content posted within the same two day period. The social networks prohibit duplicate content and ban accounts that do not comply. https://www.ayrshare.com/docs/help-center/technical-support/dealing_with_duplicate_posts#dealing-with-duplicate-posts",
"details": "Duplicate found in user profile: \"Primary Profile\", post id: e5ELaDhKjhJBU1z6dbud, and refId: 5da3de47a8e3b1d8c2bd319350aa7d4e85d4ec74",
"verifyCheck": true,
"platform": "twitter"
}
],
"postIds": [],
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18"
}
Copy an existing post to new social media platforms with the same content and settings. This endpoint allows you to reuse successful posts across different platforms or with different configurations.
Please be sure to add your
API_KEY, and the PROFILE_KEY if copying to a User Profile, in the Authorization header.
The API Key can be found in the Ayrshare Developer Dashboard under the API Key page.
Header Parameters
Body Parameters
string
required
The ID of the existing post to copy. This is the Ayrshare Post ID returned from the original
/post endpoint.array
required
Social media platforms to post the copied content to. Accepts an array of Strings with values:
bluesky, facebook, gmb, instagram, linkedin, pinterest, reddit, snapchat, telegram, threads, tiktok, twitter, or youtube.Please note: use facebook for Facebook Pages, and gmb for Google Business Profile.The platforms specified here will override the original post’s platforms - you must explicitly choose which platforms to copy to.string
The datetime to schedule the copied post. Accepts a UTC date time.For example, use format
YYYY-MM-DDThh:mm:ssZ and send as 2026-07-08T12:30:00Z.
Please see utctime for more examples.If not provided, the post will be published immediately.object
Override the original post’s Bluesky settings. See Bluesky
details.
object
Override the original post’s Facebook settings. See Facebook
details.
object
Override the original post’s Google Business Profile settings. See Google Business Profile
details.
object
Override the original post’s Instagram settings. See Instagram
details.
object
Override the original post’s LinkedIn settings. See LinkedIn
details.
object
Override the original post’s Pinterest settings. See Pinterest
details.
object
Override the original post’s Reddit settings. See Reddit
details.
object
Override the original post’s Snapchat settings. See Snapchat
details.
object
Override the original post’s Telegram settings. See Telegram
details.
object
Override the original post’s Threads settings. See Threads
details.
object
Override the original post’s TikTok settings. See TikTok
details.
object
Override the original post’s X/Twitter settings. See X/Twitter
details.
object
Override the original post’s YouTube settings. See YouTube
details.
boolean
Override the original post’s link shortening setting.Max Pack required for link shortening.
object
Override the original post’s auto hashtag settings. See auto
hashtags for details.
boolean
Override the original post’s comment settings. Only available for Instagram, LinkedIn, and TikTok.
object
Override the original post’s first comment settings. See first
comment for details.
string
Add new notes to the copied post. These will replace any notes from the original post. Notes are
for reference only and do not affect the post content.
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"postId": "RhrbDtYh7hdSMc67zC8H",
"platforms": ["twitter", "facebook", "linkedin"],
"scheduleDate": "2026-07-08T12:30:00Z"
}' \
-X POST https://api.ayrshare.com/api/post/copy
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post/copy", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${API_KEY}`
},
body: JSON.stringify({
postId: "RhrbDtYh7hdSMc67zC8H", // required
platforms: ["twitter", "facebook", "linkedin"], // required
scheduleDate: "2026-07-08T12:30:00Z", // optional
faceBookOptions: {
link: "https://example.com/new-link"
}
})
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {
'postId': 'RhrbDtYh7hdSMc67zC8H',
'platforms': ['twitter', 'facebook', 'linkedin'],
'scheduleDate': '2026-07-08T12:30:00Z',
'faceBookOptions': {
'link': 'https://example.com/new-link'
}
}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'
}
r = requests.post('https://api.ayrshare.com/api/post/copy',
json=payload,
headers=headers)
print(r.json())
<?php
$curl = curl_init();
$data = [
"postId" => "RhrbDtYh7hdSMc67zC8H",
"platforms" => ["twitter", "facebook", "linkedin"],
"scheduleDate" => "2026-07-08T12:30:00Z",
"faceBookOptions" => [
"link" => "https://example.com/new-link"
]
];
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.ayrshare.com/api/post/copy',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer API_KEY',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"bytes"
"encoding/json"
"log"
"net/http"
)
func main() {
message := map[string]interface{}{
"postId": "RhrbDtYh7hdSMc67zC8H",
"platforms": []string{"twitter", "facebook", "linkedin"},
"scheduleDate": "2026-07-08T12:30:00Z",
"faceBookOptions": map[string]interface{}{
"link": "https://example.com/new-link",
},
}
bytesRepresentation, err := json.Marshal(message)
if err != nil {
log.Fatalln(err)
}
req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/post/copy",
bytes.NewBuffer(bytesRepresentation))
req.Header.Add("Content-Type", "application/json; charset=UTF-8")
req.Header.Add("Authorization", "Bearer API_KEY")
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal("Error:", err)
}
res.Body.Close()
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace PostCopyRequest_csharp
{
class PostCopy
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post/copy";
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
string json = "{\"postId\" : \"RhrbDtYh7hdSMc67zC8H\","
+ "\"platforms\" : [ \"twitter\", \"facebook\", \"linkedin\" ],"
+ "\"scheduleDate\" : \"2026-07-08T12:30:00Z\"}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
require 'httparty'
res = HTTParty.post("https://api.ayrshare.com/api/post/copy",
headers: {Authorization: "Bearer API_KEY"},
body: {
postId: "RhrbDtYh7hdSMc67zC8H",
platforms: ['twitter', 'facebook', 'linkedin'],
scheduleDate: '2026-07-08T12:30:00Z',
faceBookOptions: {
link: 'https://example.com/new-link'
}
}).body
puts res
{
"status": "success",
"copiedFrom": "RhrbDtYh7hdSMc67zC8H",
"originalPost": "Today is a great day!",
"errors": [],
"postIds": [
{
"status": "success",
"id": "1288899996423983106",
"platform": "twitter",
"postUrl": "https://x.com/handle/status/1288899996423983106"
},
{
"status": "success",
"id": "104923907983682_108329000309743",
"platform": "facebook",
"postUrl": "https://www.facebook.com/104923907983682_108329000309743"
},
{
"status": "success",
"id": "urn:li:share:7282181682126807042",
"postUrl": "https://www.linkedin.com/feed/update/urn:li:share:7282181682126807042",
"owner": "urn:li:organization:77682157",
"platform": "linkedin"
}
],
"id": "KpwxFmNj3kgQLa92vE5T"
}
{
"status": "scheduled",
"scheduleDate": "2025-05-28T14:32:00Z",
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18",
"copiedFrom": "RhrbDtYh7hdSMc67zC8H",
"originalPost": "Today is a great day!"
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 156,
"message": "Threads is not linked. Please confirm the linkage on the Social Accounts page in the dashboard. https://www.ayrshare.com/docs/dashboard/connect-social-accounts/overview",
"platform": "threads"
}
],
"postIds": [],
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18"
}
{
"status": "error",
"code": 163,
"message": "Missing, empty, or not valid platforms parameter. Please verify sending an array of valid platforms. https://www.ayrshare.com/docs/apis/post",
"details": "platforms parameter is required for copying posts"
}
{
"status": "error",
"errors": [
{
"action": "post",
"status": "error",
"code": 137,
"message": "Duplicate or similar content posted within the same two day period. The social networks prohibit duplicate content and ban accounts that do not comply. https://www.ayrshare.com/docs/help-center/technical-support/dealing_with_duplicate_posts#dealing-with-duplicate-posts",
"details": "Duplicate found in user profile: \"Primary Profile\", post id: e5ELaDhKjhJBU1z6dbud, and refId: 5da3de47a8e3b1d8c2bd319350aa7d4e85d4ec74",
"verifyCheck": true,
"platform": "twitter"
}
],
"postIds": [],
"id": "KpwxFmNj3kgQLa92vE5T",
"refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18"
}
⌘I
