> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Copy a Post

> एक मौजूदा पोस्ट को नए social media प्लेटफ़ॉर्म पर कॉपी करें

export const XByoNotice = () => <Info>
  <strong>Targeting X/Twitter?</strong> Starting March 31, 2026, all X operations require your own API credentials. After linking X via OAuth, include these 2 headers in your request:
  <br /><br />
  <code>X-Twitter-OAuth1-Api-Key</code> — Your API Key (Consumer Key)<br />
  <code>X-Twitter-OAuth1-Api-Secret</code> — Your API Key Secret (Consumer Secret)
  <br /><br />
  <strong>One-time setup per Ayrshare account.</strong> You create one X Developer App and reuse the same API Key and Secret across every sub-profile / end-user you link. You do <em>not</em> create a new app per customer.
  <br /><br />
  Not linked yet? See the <a href="/dashboard/connect-social-accounts/x-twitter-byo-keys">full setup guide</a> to connect your X account.
  <br /><br />
  Your keys are never logged or stored by Ayrshare.
</Info>;

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

export const HeaderAPI = ({noProfileKey, profileKeyRequired}) => <>
    <ParamField header="Authorization" type="string" required>
      <a href="/apis/overview#authorization">API Key</a> of the Primary Profile.
      <br />
      <br />
      Format: <code>Authorization: Bearer API_KEY</code>
    </ParamField>
    {!noProfileKey && (profileKeyRequired ? <ParamField header="Profile-Key" type="string" required>
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField> : <ParamField header="Profile-Key" type="string">
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField>)}
  </>;

<PlansAvailable plans={["premium", "launch", "business", "enterprise"]} maxPackRequired={false} />

<XByoNotice />

एक मौजूदा पोस्ट को समान सामग्री और सेटिंग्स के साथ नए social media प्लेटफ़ॉर्म पर कॉपी करें। यह endpoint आपको विभिन्न प्लेटफ़ॉर्म पर या विभिन्न configurations के साथ सफल posts का पुनः उपयोग करने की अनुमति देता है।

कृपया [Authorization header](/apis/overview#authorization) में अपनी `API_KEY`, और यदि किसी User Profile पर कॉपी कर रहे हैं तो `PROFILE_KEY` जोड़ना सुनिश्चित करें।
API Key Ayrshare Developer Dashboard में API Key पेज के अंतर्गत मिल सकती है।

## Header Parameters

<HeaderAPI />

## Body Parameters

<ParamField body="postId" type="string" required>
  कॉपी करने के लिए मौजूदा पोस्ट का ID। यह मूल `/post` endpoint से लौटाया गया Ayrshare Post ID है।
</ParamField>

<ParamField body="platforms" type="array" required>
  Social media प्लेटफ़ॉर्म जिन पर कॉपी की गई सामग्री पोस्ट की जानी है। मानों के साथ Strings का एक array स्वीकार करता है: `bluesky`, `facebook`, `gmb`, `instagram`, `linkedin`, `pinterest`, `reddit`, `snapchat`, `telegram`, `threads`, `tiktok`, `twitter`, या `youtube`।

  कृपया ध्यान दें: Facebook Pages के लिए `facebook`, और Google Business Profile के लिए `gmb` का उपयोग करें।

  यहाँ निर्दिष्ट प्लेटफ़ॉर्म मूल पोस्ट के प्लेटफ़ॉर्म को override करेंगे — आपको स्पष्ट रूप से चुनना होगा कि किन प्लेटफ़ॉर्म पर कॉपी करना है।
</ParamField>

<ParamField body="scheduleDate" type="string">
  कॉपी की गई पोस्ट को शेड्यूल करने के लिए datetime। UTC date time स्वीकार करता है।

  उदाहरण के लिए, format `YYYY-MM-DDThh:mm:ssZ` का उपयोग करें और `2026-07-08T12:30:00Z` के रूप में भेजें।
  अधिक उदाहरणों के लिए कृपया [utctime](https://www.utctime.net/) देखें।

  यदि प्रदान नहीं किया गया, तो पोस्ट तुरंत प्रकाशित हो जाएगी।
</ParamField>

<ParamField body="blueskyOptions" type="object">
  मूल पोस्ट की Bluesky सेटिंग्स को override करें। [Bluesky
  details](/apis/post/social-networks/bluesky) देखें।
</ParamField>

<ParamField body="faceBookOptions" type="object">
  मूल पोस्ट की Facebook सेटिंग्स को override करें। [Facebook
  details](/apis/post/social-networks/facebook) देखें।
</ParamField>

<ParamField body="gmbOptions" type="object">
  मूल पोस्ट की Google Business Profile सेटिंग्स को override करें। [Google Business Profile
  details](/apis/post/social-networks/google) देखें।
</ParamField>

<ParamField body="instagramOptions" type="object">
  मूल पोस्ट की Instagram सेटिंग्स को override करें। [Instagram
  details](/apis/post/social-networks/instagram) देखें।
</ParamField>

<ParamField body="linkedInOptions" type="object">
  मूल पोस्ट की LinkedIn सेटिंग्स को override करें। [LinkedIn
  details](/apis/post/social-networks/linkedin) देखें।
</ParamField>

<ParamField body="pinterestOptions" type="object">
  मूल पोस्ट की Pinterest सेटिंग्स को override करें। [Pinterest
  details](/apis/post/social-networks/pinterest) देखें।
</ParamField>

<ParamField body="redditOptions" type="object">
  मूल पोस्ट की Reddit सेटिंग्स को override करें। [Reddit
  details](/apis/post/social-networks/reddit) देखें।
</ParamField>

<ParamField body="snapChatOptions" type="object">
  मूल पोस्ट की Snapchat सेटिंग्स को override करें। [Snapchat
  details](/apis/post/social-networks/snapchat) देखें।
</ParamField>

<ParamField body="telegramOptions" type="object">
  मूल पोस्ट की Telegram सेटिंग्स को override करें। [Telegram
  details](/apis/post/social-networks/telegram) देखें।
</ParamField>

<ParamField body="threadsOptions" type="object">
  मूल पोस्ट की Threads सेटिंग्स को override करें। [Threads
  details](/apis/post/social-networks/threads) देखें।
</ParamField>

<ParamField body="tikTokOptions" type="object">
  मूल पोस्ट की TikTok सेटिंग्स को override करें। [TikTok
  details](/apis/post/social-networks/tiktok) देखें।
</ParamField>

<ParamField body="twitterOptions" type="object">
  मूल पोस्ट की X/Twitter सेटिंग्स को override करें। [X/Twitter
  details](/apis/post/social-networks/x-twitter) देखें।
</ParamField>

<ParamField body="youTubeOptions" type="object">
  मूल पोस्ट की YouTube सेटिंग्स को override करें। [YouTube
  details](/apis/post/social-networks/youtube) देखें।
</ParamField>

<ParamField body="shortenLinks" type="boolean">
  मूल पोस्ट की link shortening सेटिंग को override करें।

  Link shortening के लिए [Max Pack आवश्यक](/additional/maxpack)।
</ParamField>

<ParamField body="autoHashtag" type="object">
  मूल पोस्ट की auto hashtag सेटिंग्स को override करें। विवरण के लिए [auto
  hashtags](/apis/post/overview#auto-hashtags) देखें।
</ParamField>

<ParamField body="disableComments" type="boolean">
  मूल पोस्ट की comment सेटिंग्स को override करें। केवल Instagram, LinkedIn, और TikTok के लिए उपलब्ध।
</ParamField>

<ParamField body="firstComment" type="object">
  मूल पोस्ट की first comment सेटिंग्स को override करें। विवरण के लिए [first
  comment](/apis/post/overview#first-comment) देखें।
</ParamField>

<ParamField body="notes" type="string">
  कॉपी की गई पोस्ट में नए notes जोड़ें। ये मूल पोस्ट के किसी भी notes को बदल देंगे। Notes केवल संदर्भ के लिए हैं और पोस्ट सामग्री को प्रभावित नहीं करते।
</ParamField>

<RequestExample>
  ```bash cURL theme={"system"}
  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
  ```

  ```javascript JavaScript theme={"system"}
  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);
  ```

  ```python Python theme={"system"}
  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 PHP theme={"system"}
  <?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;
  ```

  ```go Go theme={"system"}
  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()
  }
  ```

  ```csharp C# theme={"system"}
  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}");
              }
          }
      }
  }
  ```

  ```ruby Ruby theme={"system"}
  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
  ```
</RequestExample>

<ResponseExample>
  ```json 200: Success - Immediate Post theme={"system"}
  {
     "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"
  }
  ```

  ```json 200: Success - Scheduled Post theme={"system"}
  {
    "status": "scheduled",
    "scheduleDate": "2025-05-28T14:32:00Z",
    "id": "KpwxFmNj3kgQLa92vE5T",
    "refId": "7a8e2f15c94d73a6e2bf89dd4c847b9f2e3a6d18",
    "copiedFrom": "RhrbDtYh7hdSMc67zC8H",
    "originalPost": "Today is a great day!"
  }
  ```

  ```json 400: Bad Request theme={"system"}
  {
    "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"
  }
  ```

  ```json 400: Bad Request - Missing Platforms theme={"system"}
  {
    "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"
  }
  ```

  ```json 400: Bad Request - Duplicate or Similar Content theme={"system"}
  {
    "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"
  }
  ```
</ResponseExample>
