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

# 投稿を削除

> 投稿 ID を使用して投稿を削除します

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"]} maxPackRequired={false} />

<XByoNotice />

[/post](/apis/post/post) エンドポイントから返された投稿 ID を使用して投稿を削除します。
公開済みおよびスケジュール済みの両方の投稿を削除できますが、ソーシャルネットワークの `platform` によっていくつかの違いがあります:

<ul class="custom-bullets">
  <li>スケジュール済みの投稿は、すべてのソーシャルネットワーク `platforms` で削除できます。</li>

  <li>
    公開済みの投稿は、Instagram と TikTok を除くすべてのソーシャルネットワーク `platforms` で削除できます。
    Instagram と TikTok は、公開済みの投稿を削除するための API サポートを提供していません。これらのプラットフォームで
    公開済み投稿を削除する必要がある場合は、それぞれのモバイルアプリを使用して手動で削除する必要があります。
  </li>

  <li>
    Facebook は API 経由での画像 story の削除を許可していません(video story は削除できます)。
    画像 story を削除する必要がある場合は、Facebook モバイルアプリで手動で削除してください。
  </li>
</ul>

<Info>
  Instagram と TikTok は API 経由での削除をサポートしていません。投稿を削除するには、Instagram または
  TikTok のモバイルアプリを使用してください。

  Facebook は API 経由での画像 story の削除をサポートしていません。story を削除するには、Facebook モバイルアプリを
  使用してください。
</Info>

## ヘッダーパラメータ

<HeaderAPI noProfileKey={false} />

## ボディパラメータ

<ParamField path="id" type="string" required>
  削除する投稿の Ayrshare Post ID です。

  `bulk` または `deleteAllScheduled` パラメータを送信した場合は不要です。

  投稿がスケジュール済みでまだ `pending` の場合、そのスケジュール済み投稿は削除され、ネットワークに送信されません。

  投稿がすでにネットワークに送信されている場合、投稿はネットワークから削除されます。
</ParamField>

<ParamField path="bulk" type="array">
  一括削除する投稿 ID の文字列配列です。

  `id` または `deleteAllScheduled` パラメータが送信されない場合に必須です。
</ParamField>

<ParamField path="deleteAllScheduled" type="boolean" default={false}>
  `true` の場合、User Profile についてまだ pending 状態のすべてのスケジュール済み投稿(すなわちまだネットワークに公開されていない投稿)を削除します。

  `true` に設定した場合、`id` および `bulk` パラメータは無視されます。

  <Tip>
    これはすべてのスケジュール済み投稿を削除するので、慎重に使用してください。
  </Tip>
</ParamField>

<ParamField path="markManualDeleted" type="boolean" default={false}>
  `true` の場合、投稿は Ayrshare で削除済みとしてマークされ、Ayrshare はネットワーク側での投稿削除を試みません。

  これは、投稿がネットワーク側で手動で削除されており、それを Ayrshare 側でも削除済みとしてマークしたい場合に使用される一般的なユースケースです。

  投稿を削除済みとしてマークする前に、投稿がすでにソーシャルネットワーク上で手動で削除されていることを確認してください。
</ParamField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API Key" \
  -H 'Content-Type: application/json' \
  -d '{"id": "Post ID"}' \
  -X DELETE https://api.ayrshare.com/api/post
  ```

  ```javascript JavaScript theme={"system"}
  const API_KEY = "API_KEY";
  const id = "Post ID";

  fetch("https://api.ayrshare.com/api/post", {
        method: "DELETE",
        headers: {
          "Content-Type": "application/json",
          "Authorization": `Bearer ${API_KEY}`
        },
        body: JSON.stringify({ id }),
      })
        .then((res) => res.json())
        .then((json) => console.log(json))
        .catch(console.error);
  ```

  ```python Python theme={"system"}
  import requests

  payload = {'id': 'Post ID'}
  headers = {'Content-Type': 'application/json',
          'Authorization': 'Bearer API_KEY'}

  r = requests.delete('https://api.ayrshare.com/api/post',
      json=payload,
      headers=headers)

  print(r.json())
  ```

  ```php PHP theme={"system"}
  <?php

  $apiUrl = 'https://api.ayrshare.com/api/post';
  $apiKey = 'API_KEY';  // Replace 'API_KEY' with your actual API key
  $postId = '7NFVK0QIXET5rCUS9tmf'; // Replace with your actual post ID

  $headers = [
      'Content-Type: application/json',
      'Authorization: Bearer ' . $apiKey,
  ];

  $data = json_encode(['id' => $postId]);

  $curl = curl_init($apiUrl);
  curl_setopt_array($curl, [
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_CUSTOMREQUEST => 'DELETE',
      CURLOPT_HTTPHEADER => $headers,
      CURLOPT_POSTFIELDS => $data
  ]);

  $response = curl_exec($curl);

  if ($response === false) {
      echo 'Curl error: ' . curl_error($curl);
  } else {
      echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
  }

  curl_close($curl);
  ```

  ```csharp C# theme={"system"}
  using System;
  using System.Net.Http;
  using System.Text;
  using System.Threading.Tasks;

  namespace DeletePOSTRequest_csharp
  {
      class Delete
      {
          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";

              // Set up request headers
              client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);

              // Prepare JSON content
              string json = "{\"id\" : \"Post ID\"}";
              var content = new StringContent(json, Encoding.UTF8, "application/json");

              try
              {
                  // Create and send DELETE request with content
                  var request = new HttpRequestMessage
                  {
                      Method = HttpMethod.Delete,
                      RequestUri = new Uri(url),
                      Content = content
                  };

                  HttpResponseMessage response = await client.SendAsync(request);
                  response.EnsureSuccessStatusCode();

                  // Read response
                  string responseBody = await response.Content.ReadAsStringAsync();
                  Console.WriteLine(responseBody);
              }
              catch (HttpRequestException e)
              {
                  Console.WriteLine($"Error: {e.Message}");
              }
          }
      }
  }
  ```
</RequestExample>

<ResponseExample>
  ```javascript 200: Success theme={"system"}
  {
      "twitter": {
          "action": "delete",
          "status": "success",
          "id": "1288900099663775749" // Twitter Social Post ID
      },
      "facebook": {
          "action": "delete",
          "status": "success",
          "id": "104920007983682_108683297607743" // Facebook Social PostID
      },
      "status": "success"
  }
  ```

  ```json 200: Success with markManualDeleted theme={"system"}
  {
    "status": "success",
    "id": "p8Ee6xDPx8PRxsjtDXf3" // Ayrshare Post ID
  }
  ```

  ```json 400: ID Not Found theme={"system"}
  {
    "action": "delete",
    "status": "error",
    "code": 114,
    "message": "Delete id not found.",
    "id": "IdpUOyihLEpIx0d0N9mI" // Ayrshare Post ID used for delete, comment, analytics, etc.
  }
  ```

  ```json 400: Post Already Deleted theme={"system"}
  {
    "action": "delete",
    "status": "error",
    "code": 383,
    "message": "The post is already deleted.",
    "id": "p8Ee6xDPx8PRxsjtDXf3" // Ayrshare Post ID
  }
  ```

  ```json 400: Mark Manual Deleted Error theme={"system"}
  {
    "action": "delete",
    "status": "error",
    "code": 382,
    "message": "The post was not manually deleted at the social network. By using the markManualDeleted option, you are responsible for deleting the post at the social network. Please delete the post and try again.",
    "id": "DD3fA2DC4qe2T48hSdgs",
    "markManualDeleted": true
  }
  ```
</ResponseExample>
