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

# Auto Schedule festlegen

> Richten Sie einen Auto-Posting-Zeitplan ein, indem Sie Sendezeiten angeben

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

Richten Sie einen Auto-Posting-Zeitplan ein, indem Sie Sendezeiten angeben. Der Beitrag wird automatisch zur nächsten verfügbaren Zeit gesendet. Sind heute keine weiteren Zeiten verfügbar, wird die erste verfügbare Zeit am nächsten Tag verwendet, und so weiter.

<Note>
  Wenn Sie einen Beitrag lediglich für ein zukünftiges Datum planen möchten, sehen Sie sich den Parameter
  `scheduleDate` von [/post](/apis/post/post) an.
</Note>

Verwenden Sie Auto Schedule, indem Sie im /post-Aufruf den Parameter autoSchedule auf `true` setzen und – falls Sie einen bestimmten Zeitplan verwenden möchten – den `title` angeben. Beispiel: Setzen Sie die Zeiten auf UTC 13:05Z und 20:14Z und `autoSchedule: true` im Beitrag. Der Beitrag wird zur nächsten verfügbaren Zeit (13:05Z oder 20:14Z) eingeplant.

## Header-Parameter

<HeaderAPI />

## Body-Parameter

<ParamField body="schedule" type="array" required>
  Array von Strings mit geplanten Zeiten für das automatische Posten. Das Array wird als Menge behandelt, Duplikate werden also entfernt.

  Format: ISO-8601 UTC. Beispiel: `["13:05Z", "22:14Z"]`. Nicht erforderlich, wenn `setStartDate` angegeben ist.
</ParamField>

<ParamField body="title" type="string" default="default">
  Sie können mehrere verschiedene Zeitpläne erstellen, indem Sie jedem einen eindeutigen Titel zuweisen. Der Titel darf nur alphanumerische Zeichen enthalten – Sonderzeichen wie `*`, `~`, `/`, `[` oder `]` sind nicht erlaubt.

  Wenn Sie den `title` in /post über `autoScheduleTitle` angeben, wird dieser Zeitplan verwendet.
</ParamField>

<ParamField body="setStartDate" type="string">
  Legen Sie ein konkretes Startdatum für den Auto Schedule fest, indem Sie eine ISO-8601-UTC-Datums-/Zeitangabe angeben. Z. B. `2021-07-08T12:30:00Z`. Die Startzeit wird auf den angegebenen "title" angewendet oder auf den Standardtitel, wenn keiner angegeben ist.

  Neue Beiträge werden ab dem Startdatum veröffentlicht. Bereits geplante Beiträge sind nicht betroffen.
</ParamField>

<ParamField body="daysOfWeek" type="array" default={[0,6]}>
  Geben Sie an, an welchen Wochentagen der Beitrag gesendet werden soll. Werte 0–6 (Sonntag – Samstag). Beispiel: `[1, 3]` veröffentlicht Beiträge nur montags und mittwochs.
</ParamField>

<ParamField body="excludeDates" type="array">
  Schließen Sie bestimmte Daten vom Auto Scheduling aus. Beispiel: `["2026-01-01"]`, um Neujahr auszuschließen.

  Hinweis: Nur Beiträge, die nach dem Setzen von `excludeDates` automatisch geplant werden, werden ausgeschlossen.
</ParamField>

<RequestExample>
  ```javascript cURL theme={"system"}
  curl \
  -H "Authorization: Bearer API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"schedule": ["13:05Z", "20:14Z"], "title": "Instagram Schedule"}' \
  -X POST https://api.ayrshare.com/api/auto-schedule/set
  ```

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

  fetch("https://api.ayrshare.com/api/auto-schedule/set", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${API_KEY}`
    },
    body: JSON.stringify({
      schedule: ["13:05Z", "20:14Z"], // required
      title: title // optional
    })
  })
    .then((res) => res.json())
    .then((json) => console.log(json))
    .catch(console.error);
  ```

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

  $API_KEY = "API_KEY";

  $data = [
  'schedule' => ["13:05Z", "20:14Z"], // required
  'title' => "Instagram Schedule" // optional
  ];

  $ch = curl_init();

  curl_setopt_array($ch, [
      CURLOPT_URL => "https://api.ayrshare.com/api/auto-schedule/set",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_POST => true,
      CURLOPT_POSTFIELDS => json_encode($data),
  CURLOPT_HTTPHEADER => [
  "Content-Type: application/json",
  "Authorization: Bearer " . $API_KEY
  ]
  ]);

  $response = curl_exec($ch);

  if (curl_errno($ch)) {
      echo 'Error: ' . curl_error($ch);
  } else {
  $json = json_decode($response, true);
  print_r($json);
  }

  curl_close($ch);

  ```

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

  namespace AutoSchedulePOSTRequest_csharp
  {
      class AutoSchedule
      {
          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/auto-schedule/set";

              client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);

              var payload = new
              {
                  schedule = new[] { "13:05Z", "20:14Z" },
                  title = "Instagram Schedule"
              };

              try
              {
                  var content = new StringContent(
                      System.Text.Json.JsonSerializer.Serialize(payload),
                      System.Text.Encoding.UTF8,
                      "application/json"
                  );

                  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}");
              }
          }
      }
  }
  ```

  ```go Go theme={"system"}
  package main

  import (
  	"bytes"
  	"encoding/json"
  	"log"
  	"net/http"
  )

  func main() {
  	message := map[string]interface{}{
  		"schedule": []string{"13:05Z", "20:14Z"},
  		"title": "Instagram Schedule"
  	}

  	bytesRepresentation, err := json.Marshal(message)
  	if err != nil {
  		log.Fatalln(err)
  	}

  	req, _ := http.NewRequest("POST", "https://api.ayrshare.com/api/auto-schedule/set",
  		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()
  }
  ```
</RequestExample>

<ResponseExample>
  ```javascript 200: Schedule Set theme={"system"}
  {
      status: "success",
      message: "Auto schedule set.",
      title: "Instagram Schedule",
  }
  ```
</ResponseExample>
