Beitrag vor dem Erstellen prüfen
Testlauf für einen Beitrag: Senden Sie denselben Body wie bei Beitrag erstellen und erhalten Sie jedes Problem pro Konto, ohne dass etwas angelegt wird.
https://post.adaptlypost.com/post/api/v1/social-posts/validateFührt jede Prüfung von Beitrag erstellen aus, ohne etwas anzulegen. Senden Sie denselben Body und lesen Sie, was der Beitrag tun würde und jedes Problem, das ihn aufhalten würde.
Für die Prüfung genügt posts.draft, egal was der Beitrag tun würde. requiredPermissions in der Antwort nennt, was das Erstellen des Beitrags bräuchte, und ein Schlüssel ohne eine davon erhält ein PERMISSION_DENIED-Problem.
Request-Body
Derselbe Body wie bei Beitrag erstellen, Feld für Feld. Es wird nichts angelegt, keine Medien hochgeladen und nichts gespeichert. Ein gültig aufgebauter Body liefert immer 200 mit einem Bericht, auch wenn der Beitrag abgelehnt würde. Nur ein fehlerhaft aufgebauter Body liefert 400.
Probleme, die vor dem Veröffentlichen erkannt werden
Neben jeder Prüfung von Beitrag erstellen deckt der Bericht Probleme ab, die sonst erst beim Veröffentlichen auftreten: TikTok-Creator-Limits, das tägliche YouTube-Upload-Limit für Kanäle ohne Backup-Upload, abgelaufener Zugriff bei Instagram und Threads, Mastodon-Server mit weniger Anhängen, nicht vorhandene Pinterest-Boards und X-Credits bei Lifetime-Deal-Tarifen.Antwortfelder
| Feld | Beschreibung |
|---|---|
valid | false, sobald ein Problem den Schweregrad ERROR hat, auf oberster Ebene oder bei einem Konto |
outcome | Was das Erstellen des Beitrags tun würde: PUBLISH_NOW, SCHEDULED oder DRAFT |
scheduledAt | Wann der Beitrag erscheinen würde (ISO 8601). Nur gesetzt, wenn outcome SCHEDULED ist |
requiredPermissions | Die Berechtigungen, die das Erstellen des Beitrags bräuchte, etwa posts.schedule |
issues | Probleme, die nicht zu einem Konto gehören, etwa eine fehlende Berechtigung |
accounts | Ein Eintrag pro ausgewähltem Konto, mit den Feldern unten |
notChecked | Was nur die Plattform beim Veröffentlichen entscheiden kann, als { code, message }. code ist PLATFORM_PROCESSING, DUPLICATE_CONTENT, PLATFORM_RATE_LIMITS, LIVE_ACCOUNT_ACCESS oder VIDEO_DURATION |
Kontofelder
| Feld | Beschreibung |
|---|---|
platform, connectionId, accountName | Die Plattform des Kontos, seine Verbindungs-ID und sein Name, wenn bekannt |
status | READY, WARNING (wird mit Einschränkung veröffentlicht) oder BLOCKED (würde nicht veröffentlicht) |
issues | Die Probleme, die für dieses Konto gefunden wurden |
Problemfelder
| Feld | Beschreibung |
|---|---|
code | Ein stabiler Grund wie TEXT_TOO_LONG, ACCOUNT_DISCONNECTED, TIKTOK_POSTING_BLOCKED oder YOUTUBE_UPLOAD_QUOTA_EXHAUSTED. Es können neue Codes hinzukommen, zeigen Sie bei einem unbekannten Code also message an |
severity | ERROR hält den Beitrag oder dieses Konto auf. WARNING lässt ihn durch |
message | Ein lesbarer Satz, den Sie unverändert anzeigen können |
platform, connectionId | Die Plattform und das Konto, um die es geht, wenn das Problem eines betrifft |
valid: true ist keine Garantie
Eine Plattform kann Medien bei der Verarbeitung noch ablehnen, einen doppelten Beitrag verweigern oder beim Veröffentlichen an ein Ratenlimit stoßen. notChecked listet diese Punkte auf. Sie müssen die Prüfung nie vor Beitrag erstellen ausführen, denn dort laufen dieselben Prüfungen erneut.curl --request POST \
--url https://post.adaptlypost.com/post/api/v1/social-posts/validate \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"platforms": ["TWITTER", "TIKTOK"],
"contentType": "VIDEO",
"text": "Behind the scenes of our launch",
"mediaUrls": ["https://cdn.adaptlypost.com/uploads/launch.mp4"],
"scheduledAt": "2026-11-03T15:00:00Z",
"timezone": "America/New_York",
"twitterConnectionIds": ["conn_abc123"],
"tiktokConnectionIds": ["conn_tt789"]
}'{
"valid": false,
"outcome": "SCHEDULED",
"scheduledAt": "2026-11-03T15:00:00.000Z",
"requiredPermissions": ["posts.schedule"],
"issues": [],
"accounts": [
{
"platform": "TWITTER",
"connectionId": "conn_abc123",
"accountName": "@yourhandle",
"status": "READY",
"issues": []
},
{
"platform": "TIKTOK",
"connectionId": "conn_tt789",
"accountName": "yourbrand",
"status": "BLOCKED",
"issues": [
{
"code": "TIKTOK_VIDEO_TOO_LONG",
"severity": "ERROR",
"message": "Video duration (185s) exceeds your TikTok account limit of 180 seconds",
"platform": "TIKTOK",
"connectionId": "conn_tt789"
}
]
}
],
"notChecked": [
{
"code": "PLATFORM_PROCESSING",
"message": "The platform processes media after upload and can still reject it then"
}
]
}