> ## 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.

# Beitragsverlauf

> Verlauf der Ayrshare-Beiträge

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 />

Rufen Sie einen Verlauf der über Ayrshare gesendeten Beiträge in absteigender Reihenfolge (vom neuesten zum ältesten) ab.

Mit diesem Endpunkt können Sie Beiträge aus einem bestimmten Zeitraum, mit einem bestimmten Status, aus einem bestimmten sozialen Netzwerk oder aus den letzten n Tagen abrufen.

Werte des `status`-Feldes im Verlauf:

<ul class="custom-bullets">
  <li>
    `awaiting approval`: Beiträge warten darauf, über den [Freigabe-Workflow](/apis/post/overview#approval-workflow)
    genehmigt zu werden.
  </li>

  <li>
    `deleted`: Der Beitrag wurde gelöscht. Hinweis: Gelöschte Beiträge werden nur mit dem Status-Query-Filter
    zurückgegeben. Weitere Details unten.
  </li>

  <li>`error`: Bei einem oder mehreren sozialen Netzwerken ist ein Fehler aufgetreten.</li>
  <li>`paused`: Ein pausierter geplanter Beitrag.</li>
  <li>`pending`: Der Beitrag wurde noch nicht verarbeitet. Typischerweise ein geplanter Beitrag.</li>
  <li>`success`: Der Beitrag wurde erfolgreich an alle sozialen Netzwerke gesendet.</li>
</ul>

Zusätzliche Informationen:

<ul class="custom-bullets">
  <li>
    Die [Ayrshare-Beitrags-ID](/apis/overview#ayrshare-post-id) wird im `id`-Feld der Antwort zurückgegeben.
  </li>

  <li>
    Um Beiträge abzurufen, die außerhalb von Ayrshare erstellt wurden – etwa direkt im sozialen Netzwerk manuell veröffentlicht –
    verwenden Sie den Endpunkt [history platform](/apis/history/history-platform).
  </li>

  <li>
    Wenn nur ein einzelner Beitrag benötigt wird, verwenden Sie den Endpunkt
    [post history by id](/apis/history/get-history-id).
  </li>

  <li>
    Die JSON-Ergebnisse des History-Endpunkts werden 1 Minute lang zwischengespeichert, wenn `limit` größer als
    der Standardwert von 25 ist.
  </li>
</ul>

## Header-Parameter

<HeaderAPI />

## Query-Parameter

<ParamField query="limit" type="number" default={25}>
  Gibt die letzten <em>n</em> Beiträge zurück. Wenn Sie beispielsweise nur den neuesten Beitrag möchten, setzen Sie `limit=1`.
  Wenn nicht vorhanden, werden alle in `lastDays` enthaltenen Datensätze zurückgegeben.

  Standard: `25` Beiträge. Maximalwert: `1000`.
</ParamField>

<ParamField query="platforms" type="array">
  Nach Social-Network-Plattformen filtern. Plattform-Werte: `bluesky`, `facebook`, `gmb`, `instagram`,
  `linkedin`, `pinterest`, `reddit`, `snapchat`, `telegram`, `threads`, `tiktok`, `twitter`,
  `youtube`. Beachten Sie: Es wird `OR`-Logik verwendet: `["facebook", "instagram"]` gibt Beiträge von beiden zurück.
</ParamField>

<ParamField query="startDate" type="string">
  Gibt Beiträge ab und einschließlich dieses Startdatums zurück. Startdatum für den Verlauf im ISO-8601-Format.
  Verwenden Sie zum Beispiel das Format `YYYY-MM-DDThh:mm:ssZ` und senden Sie es als `2026-07-08T12:30:00Z`. Weitere Beispiele finden Sie
  unter [utctime](https://www.utctime.net/).
</ParamField>

<ParamField query="endDate" type="string">
  Gibt Beiträge bis einschließlich dieses Enddatums zurück. Enddatum für den Verlauf im ISO-8601-Format. Verwenden Sie
  zum Beispiel das Format `YYYY-MM-DDThh:mm:ssZ` und senden Sie es als `2026-07-08T12:30:00Z`. Weitere Beispiele finden Sie unter
  [utctime](https://www.utctime.net/).
</ParamField>

<ParamField query="lastDays" type="number" default={30}>
  Gibt die Beiträge der letzten n Tage nach Veröffentlichungsdatum (`scheduleDate`) zurück. Standardmäßig 30 Tage.

  <ul class="custom-bullets">
    <li>`lastDays` wird ignoriert, wenn `startDate` und `endDate` angegeben sind.</li>
    <li>Bei einem Wert von 0 wird der gesamte Beitragsverlauf zurückgegeben.</li>
    <li>Bei einem Wert größer als 0 werden die Beiträge der letzten n Tage zurückgegeben.</li>

    <li>
      Beispiel: `lastDays=5` gibt die Beiträge der letzten 5 Tage zurück, und `lastDays=0` gibt alle
      durch `limit` bestimmten Beiträge zurück.
    </li>
  </ul>
</ParamField>

<ParamField query="status" type="string">
  Filtern Sie nach dem aktuellen Status des Beitrags. Gültige Werte: `success`, `error`, `processing`, `pending`, `paused`, `deleted` und `awaiting approval`.
  „processing“ bedeutet, dass der Beitrag gerade gesendet wird. „pending“ bedeutet, dass der Beitrag für einen zukünftigen Zeitpunkt geplant ist.

  <Info>
    Gelöschte Beiträge werden standardmäßig nicht zurückgegeben. Sie werden nur zurückgegeben, wenn der Status-Query-Filter auf `status=deleted` gesetzt ist.
  </Info>
</ParamField>

<ParamField query="type" type="string">
  Die Art des abzurufenden Beitrags – entweder sofort gesendete Beiträge oder mit dem Feld `scheduleDate`
  geplante Beiträge. Werte: `immediate` oder `scheduled`.
</ParamField>

<ParamField query="autoRepostId" type="string">
  Beim Erstellen eines automatischen Wiederholungsbeitrags wird eine ID zur Nachverfolgung dieser Beitragsserie vergeben.
  Rufen Sie Beiträge nach Auto-Repost-ID ab oder verwenden Sie den Wert `all`, um alle Auto-Reposts zu erhalten.
</ParamField>

<RequestExample>
  ```bash cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_KEY" \
  -X GET https://api.ayrshare.com/api/history?startDate=2025-01-01T12:30:00Z&endDate=2025-03-01T12:30:00&limit=100
  ```

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

  fetch("https://api.ayrshare.com/api/history?startDate=2025-01-01T12:30:00Z&endDate=2025-03-01T12:30:00&limit=100", {
        method: "GET",
        headers: {
          "Authorization": `Bearer ${API_KEY}`
        }
      })
        .then((res) => res.json())
        .then((json) => console.log(json))
        .catch(console.error);
  ```

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

  headers = {'Authorization': 'Bearer API_KEY'}

  r = requests.get('https://api.ayrshare.com/api/history?startDate=2025-01-01T12:30:00Z&endDate=2025-03-01T12:30:00&limit=100', headers=headers)

  print(r.json())
  ```

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

  $apiUrl = 'https://api.ayrshare.com/api/history?startDate=2025-01-01T12:30:00Z&endDate=2025-03-01T12:30:00&limit=100';
  $apiKey = 'API_KEY';  // Replace 'API_KEY' with your actual API key

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

  $curl = curl_init($apiUrl);
  curl_setopt_array($curl, [
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => $headers
  ]);

  $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.Threading.Tasks;

  namespace HistoryGETRequest_csharp
  {
  class History
  {
      static async Task Main(string[] args)
      {
          string API_KEY = "API_KEY";
          string url = "https://api.ayrshare.com/api/history?startDate=2025-01-01T12:30:00Z&endDate=2025-03-01T12:30:00&limit=100";

          using (var client = new HttpClient())
          {
              client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);

              try
              {
                  var response = await client.GetStringAsync(url);
                  Console.WriteLine(response);
              }
              catch (HttpRequestException ex)
              {
                  Console.WriteLine($"Error: {ex.Message}");
              }
          }
      }
  }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 200: Success theme={"system"}
  {
    "history": [
      {
          "errors": [],
          "post": "This is the  post I sent",
          "platforms": [
              "twitter",
              "facebook"
          ],
          "postIds": [
              {
                  "status": "success",
                  "id": "1288968500063775749",    // Twitter Social Post ID
                  "platform": "twitter"
              },
              {
                  "id": "104923907983682_108683297607743", // Facebook Social Post ID
                  "status": "success",
                  "platform": "facebook"
              }
          ],
          "urls": [],
          "type": "now",
          "notes": "Approved by John Smith",  // Reference notes set via /post
          "created": "2022-05-20T17:25:06Z",
          "status": "deleted",
          "scheduleDate": {    // In a future release changed to "scheduleDate": "2020-11-05T12:21:29Z"
              "_seconds": 1604578889,
              "_nanoseconds": 211000000,
              "utc": "2020-11-05T12:21:29Z"
          },
          "id": "rhn6u7wwz2WxGv6MZGK9" // Ayrshare Top-Level Post ID
      },
      {
          "status": "success",
          "platforms": [
              "twitter",
              "facebook"
          ],
          "created": "2022-05-20T17:25:06Z",
          "post": "Sometimes we need to take a break for lunch.",
          "scheduleDate": {    // In a future release changed to "scheduleDate": "2020-11-05T12:21:29Z"
              "_seconds": 1604578889,
              "_nanoseconds": 211000000,
              "utc": "2020-11-05T12:21:29Z"
          },
          "type": "now",
          "postIds": [
              {
                  "platform": "twitter",
                  "id": "1288890036000983105", // Twitter Social Post ID
                  "status": "success"
              },
              {
                  "id": "104923907983682_108329970009742", // Facebook Social Post ID
                  "status": "success",
                  "platform": "facebook",
                  "isVideo": true // Video post
              }
          ],
          "errors": [],
          "urls": [],
          "id": "wWIY0OEirdNeYSJYm1Xa" // Ayrshare Post ID
      },
      {   // Awaiting approval post - Approved by user
          "approved": true,
          "approvedBy": "9abf1426d6ce9122ef11c7222e1",
          "approvedDate": "2025-06-06T12:28:12Z",
          "created": "2025-06-06T12:27:56Z",
          "errors": [],
          "id": "sujQsrXtroJU0NEOlY38",
          "mediaUrls": [],
          "platforms": [
              "twitter"
          ],
          "post": "I failed my way to success. - Thomas Edison",
          "postIds": [
              {
                  "status": "success",
                  "id": "193096515330813",
                  "postUrl": "https://twitter.com/RetiretyHQ/status/19309651533081",
                  "platform": "twitter"
              }
          ],
          "profileTitle": "Primary Profile",
          "refId": "9abf1426d6ce9122ef11c7222e1",
          "requiresApproval": true,
          "scheduleDate": "2025-06-06T12:27:56Z",
          "shortenLinks": false,
          "status": "success",
          "type": "now"
      },
      {   // Awaiting approval post - Rejected by user
          "approved": false,
          "created": "2025-06-06T12:23:48Z",
          "id": "XL5xHeNK8HGTg07qxzmd",
          "mediaUrls": [],
          "platforms": [
              "twitter"
          ],
          "post": " Honesty is the first chapter in the book of wisdom. - Thomas Jefferson",
          "profileTitle": "Primary Profile",
          "refId": "9abf1426d6ce9122ef11c72bd62eddw2",
          "rejectedBy": "9abf1426d6ce9122ef11c7222e1",
          "rejectedDate": "2025-06-06T12:23:58Z",
          "requiresApproval": true,
          "scheduleDate": "2025-06-06T12:23:48Z",
          "shortenLinks": false,
          "status": "awaiting approval",
          "type": "now"
      }
          
     ],
      "refId": "9abf1426d6ce9122ef11c72bd62e59807c5cc083",
      "count": 100,
      "lastUpdated": "2025-04-05T22:44:14.209Z",
      "nextUpdate": "2025-04-05T22:45:14.209Z"
  }
  ```

  ```json 400: History not found theme={"system"}
  {
    "action": "history",
    "status": "error",
    "code": 221,
    "message": "History not found for the past 30 days. Please see the docs on how to retrieve additional history. .../ayrshare.com/rest-api/endpoints/history#list-history-of-sent-and-scheduled-posts"
  }
  ```
</ResponseExample>
