REST APIPOST

Massenplanung

Planen Sie bis zu 100 Social-Media-Beiträge gleichzeitig mit plattformspezifischen Einstellungen über die AdaptlyPost API.

POSThttps://post.adaptlypost.com/post/api/v1/social-posts/bulk

Planen Sie bis zu 100 Beiträge gleichzeitig. Jeder Beitrag kann eigene Inhalte, Medien und eine geplante Zeit haben, während dieselben Plattformverbindungen geteilt werden.

API-Schlüssel (Bearer-Token)
Berechtigung:posts.scheduleRollen und Berechtigungen

posts.schedule, wenn jedes Element ein zukünftiges scheduledAt hat. Liegt ein Element in der Gegenwart oder Vergangenheit, wird es sofort veröffentlicht, und der Schlüssel braucht zusätzlich posts.publish. Mitwirkenden- und Betrachter-Schlüssel können keine Massenplanung nutzen.

Body-Parameter

ParameterTypBeschreibung
platformsERFORDERLICHPlatformType[]Zielplattformen für alle Beiträge
timezoneERFORDERLICHstringIANA-Zeitzone für die Planung
postsERFORDERLICHPostItem[]Array von zu planenden Beiträgen (1-100)
twitterConnectionIdsstring[]Twitter-Konto-Verbindungs-IDs
linkedinConnectionIdsstring[]LinkedIn-Konto-Verbindungs-IDs
instagramConnectionIdsstring[]Instagram-Konto-Verbindungs-IDs
tiktokConnectionIdsstring[]TikTok-Konto-Verbindungs-IDs
youtubeConnectionIdsstring[]YouTube-Kanal-Verbindungs-IDs
pinterestConnectionIdsstring[]Pinterest-Konto-Verbindungs-IDs
blueskyConnectionIdsstring[]Bluesky-Konto-Verbindungs-IDs
mastodonConnectionIdsstring[]Mastodon-Konto-Verbindungs-IDs
googleBusinessConnectionIdsstring[]Verbindungs-IDs der Standorte im Google Unternehmensprofil
tumblrConnectionIdsstring[]Verbindungs-IDs der Tumblr-Blogs
telegramConnectionIdsstring[]Verbindungs-IDs der Telegram-Kanäle und -Gruppen
threadsConnectionIdsstring[]Threads-Konto-Verbindungs-IDs
pageIdsstring[]Facebook-Seiten, auf denen gepostet wird. Akzeptiert entweder die Konto-id oder die pageId aus /social-accounts
pinterestConfigsPinterestConfig[]Pinterest-Einstellungen auf Batch-Ebene, die auf alle Beiträge angewendet werden. Siehe Plattform-Konfigurationen für das Schema
tiktokConfigsTikTokConfig[]TikTok-Einstellungen auf Batch-Ebene, die auf alle Beiträge angewendet werden. Siehe Plattform-Konfigurationen für das Schema
instagramConfigsInstagramConfig[]Instagram-Einstellungen auf Batch-Ebene, die auf alle Beiträge angewendet werden. Siehe Plattform-Konfigurationen für das Schema
facebookConfigsFacebookConfig[]Facebook-Einstellungen auf Batch-Ebene, die auf alle Beiträge angewendet werden. Siehe Plattform-Konfigurationen für das Schema
youtubeConfigsYouTubeConfig[]YouTube-Einstellungen auf Batch-Ebene, die auf alle Beiträge angewendet werden. Siehe Plattform-Konfigurationen für das Schema
googleBusinessConfigsGoogleBusinessConfig[]Einstellungen für das Google Unternehmensprofil auf Batch-Ebene, die auf alle Beiträge angewendet werden. Siehe Plattform-Konfigurationen für das Schema
tumblrConfigsTumblrConfig[]Tumblr-Einstellungen auf Batch-Ebene, die für alle Beiträge gelten. Schema unter Plattform-Konfigurationen

Beitragselement-Felder

Jeder Beitrag im Array kann eigene Inhalte, Medien und eine eigene Veröffentlichungszeit haben.

Parameter für Beitragselemente

ParameterTypBeschreibung
contentTypeERFORDERLICHContentTypeInhaltstyp (erforderlich)
textstringTextinhalt des Beitrags. Auf LinkedIn erwähnen Sie eine Unternehmensseite mit @[Seitenname](urn:li:organization:<id>), wobei der Name genau so geschrieben sein muss, wie LinkedIn ihn anzeigt. LinkedIn erlaubt nur Erwähnungen von Unternehmensseiten, nicht von Personen
platformTextsPlatformText[]Textspezifische Überschreibungen pro Plattform
mediaUrlsstring[]URLs der Mediendateien
mediaAltTextsstring[]Alternativtext für jedes Bild, in derselben Reihenfolge wie mediaUrls. Höchstens 1000 Zeichen pro Eintrag; ein leerer String überspringt ein Bild. Wird an X, Bluesky, Mastodon, LinkedIn, Facebook, Instagram und Threads gesendet. Pinterest verwendet den ersten, gekürzt auf 500 Zeichen. TikTok, YouTube, das Google Unternehmensprofil und Videos ignorieren ihn.
thumbnailUrlstringThumbnail-URL für Videobeiträge
thumbnailTimestampMsnumberVideobild, das als Vorschaubild dient, in Millisekunden ab Beginn
platformThumbnailsPlatformThumbnail[]Ein anderes Thumbnail für eine Plattform eines Videobeitrags, als { platform, thumbnailUrl?, thumbnailTimestampMs? }. YOUTUBE, FACEBOOK, LINKEDIN und TELEGRAM nehmen ein Bild, INSTAGRAM und PINTEREST ein Bild oder ein Videobild, TIKTOK nur ein Videobild. Plattformen ohne Eintrag nutzen thumbnailUrl und thumbnailTimestampMs
platformAspectRatiosPlatformAspectRatio[]Bringt jedes Bild eines IMAGE- oder CAROUSEL-Beitrags auf einer Plattform in ein Format, als { platform, aspectRatio, fit? }. aspectRatio ist SQUARE, PORTRAIT, VERTICAL oder LANDSCAPE: INSTAGRAM nimmt SQUARE, PORTRAIT oder LANDSCAPE, TIKTOK alle vier. fit ist CROP (Standard) oder PAD. Siehe Beitrag erstellen
firstCommentsPlatformFirstComment[]Ein Kommentar, der vom selben Konto unter dem veröffentlichten Beitrag gepostet wird, als { platform, text }. Ein Eintrag pro Plattform. LINKEDIN nimmt bis zu 1250 Zeichen, TWITTER 280, THREADS 500, BLUESKY 300, MASTODON 500, YOUTUBE 10000 (nicht bei privaten oder für Kinder gemachten Videos), FACEBOOK 8000 und INSTAGRAM 2200 (nicht bei Stories). Andere Plattformen ergeben einen 400. Eine Facebook-Seite oder ein Instagram-Konto, das vor der Einführung erster Kommentare dort verbunden wurde, muss einmal neu verbunden werden; bis dahin schlägt der Kommentar mit firstCommentError fehl
threadRepliesPlatformThreadReplies[]Macht den Beitrag zu einem Thread, als { platform, texts }: Der Beitrag eröffnet ihn, und jeder Text geht vom selben Konto als Antwort auf den vorherigen raus. Ein Eintrag pro Plattform, bis zu 25 Texte. TWITTER nimmt 280 Zeichen pro Antwort (mehr mit X Premium), THREADS 500, BLUESKY 300 und MASTODON 500 (oder das Limit der Instanz). Andere Plattformen, eine leere oder zu lange Antwort und eine Plattform, die auch einen ersten Kommentar hat, ergeben einen 400
scheduledAtERFORDERLICHstringPlanungsdatum (erforderlich, ISO 8601)
pinterestConfigsPinterestConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag
tiktokConfigsTikTokConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag
instagramConfigsInstagramConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag
facebookConfigsFacebookConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag
youtubeConfigsYouTubeConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag
googleBusinessConfigsGoogleBusinessConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag
tumblrConfigsTumblrConfig[]Überschreibung pro Beitrag. Wenn gesetzt, hat sie Vorrang vor der Konfiguration auf Batch-Ebene für diesen Beitrag

Plattform-Konfigurationsüberschreibungen pro Beitrag

Plattform-Konfigurationen können auf zwei Ebenen festgelegt werden: Batch-Ebene (als Standard auf alle Beiträge angewendet) und pro Beitrag (überschreibt die Batch-Ebene für diesen spezifischen Beitrag). Wenn ein Beitrag seine eigene Plattform-Konfiguration enthält, ersetzt diese vollständig die Konfiguration auf Batch-Ebene für diese Plattform.

Ratenlimit

Maximal 100 Beiträge pro Anfrage. Jeder Beitrag wird unabhängig verarbeitet. Wenn einer die Validierung nicht besteht, werden die anderen trotzdem geplant.

Ein Konto pro Plattform

Pro Plattform ist nur ein Konto erlaubt. Alle Beiträge im Batch teilen dieselben Verbindungen, daher können Sie nicht mehrere Verbindungs-IDs für dieselbe Plattform angeben. Diese Einschränkung gilt zur Einhaltung der Nutzungsbedingungen der Plattformen.

Den Batch zuerst prüfen

Senden Sie denselben Body an Massenplanung prüfen (POST /api/v1/social-posts/bulk/validate), um für jeden Beitrag einen Bericht zu erhalten, bevor etwas geplant wird.
Beiträge in Masse planen
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/social-posts/bulk \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "platforms": ["YOUTUBE", "PINTEREST"],
    "timezone": "America/New_York",
    "youtubeConnectionIds": ["conn_yt123"],
    "pinterestConnectionIds": ["conn_pin456"],
    "youtubeConfigs": [{
      "connectionId": "conn_yt123",
      "postType": "SHORTS",
      "privacyStatus": "public"
    }],
    "pinterestConfigs": [{
      "connectionId": "conn_pin456",
      "boardId": "board_abc",
      "title": "Default pin title"
    }],
    "posts": [
      {
        "contentType": "VIDEO",
        "text": "First video!",
        "mediaUrls": ["https://cdn.adaptlypost.com/uploads/video1.mp4"],
        "scheduledAt": "2026-03-15T10:00:00Z"
      },
      {
        "contentType": "VIDEO",
        "text": "Second video with custom config",
        "mediaUrls": ["https://cdn.adaptlypost.com/uploads/video2.mp4"],
        "scheduledAt": "2026-03-15T14:00:00Z",
        "youtubeConfigs": [{
          "connectionId": "conn_yt123",
          "postType": "VIDEO",
          "videoTitle": "Full tutorial",
          "privacyStatus": "unlisted"
        }]
      }
    ]
  }'
201
{
  "totalScheduled": 2,
  "totalFailed": 0,
  "results": [
    {
      "postId": "post_abc001",
      "success": true,
      "isScheduled": true,
      "scheduledAt": "2026-03-15T10:00:00Z",
      "errorMessage": null
    },
    {
      "postId": "post_abc002",
      "success": true,
      "isScheduled": true,
      "scheduledAt": "2026-03-15T14:00:00Z",
      "errorMessage": null
    }
  ]
}