REST APIPOST

Vérifier une programmation en masse

Faites un essai à blanc d'une programmation en masse : envoyez le même corps que pour Programmation en masse et recevez un rapport par publication, dans l'ordre de la requête, sans créer de publication.

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

Vérifie toute une programmation en masse sans créer de publication. Envoyez le même corps que Programmation en masse et recevez un rapport par publication, dans l'ordre de la requête.

Clé API (jeton Bearer)
Permission:posts.draftRôles et permissions

posts.draft suffit pour lancer la vérification. requiredPermissions dans chaque rapport indique ce dont la programmation de cette publication aurait besoin.

Corps de la requête

Le même corps que Programmation en masse, avec jusqu'à 100 publications. Les configurations du lot s'appliquent à chaque publication et celles de chaque publication les remplacent, comme lors de la programmation. Rien n'est créé ni enregistré.

Champs de la réponse

ChampDescription
validtrue seulement quand toutes les publications sont valides
totalValidLe nombre de publications sans problème ERROR
totalInvalidLe nombre de publications avec au moins un problème ERROR
resultsUne entrée par publication sous la forme { index, report }. index est la position de la publication dans posts, à partir de 0. report a les mêmes champs que la réponse de Vérifier une publication

Vérifiez avant de programmer

Programmation en masse programme chaque publication valide même si d'autres échouent. Corrigez d'abord les publications dont le rapport n'est pas valide, et tout le lot part comme prévu.
Vérifier une programmation en masse
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/social-posts/bulk/validate \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "platforms": ["TWITTER"],
    "timezone": "America/New_York",
    "twitterConnectionIds": ["conn_abc123"],
    "posts": [
      {
        "contentType": "TEXT",
        "text": "Tip of the week: batch your posts on Mondays.",
        "scheduledAt": "2026-11-02T14:00:00Z"
      },
      {
        "contentType": "TEXT",
        "text": "<a 320-character announcement>",
        "scheduledAt": "2026-11-04T14:00:00Z"
      }
    ]
  }'
200
{
  "valid": false,
  "totalValid": 1,
  "totalInvalid": 1,
  "results": [
    {
      "index": 0,
      "report": {
        "valid": true,
        "outcome": "SCHEDULED",
        "scheduledAt": "2026-11-02T14:00:00.000Z",
        "requiredPermissions": ["posts.schedule"],
        "issues": [],
        "accounts": [
          {
            "platform": "TWITTER",
            "connectionId": "conn_abc123",
            "accountName": "@yourhandle",
            "status": "READY",
            "issues": []
          }
        ],
        "notChecked": []
      }
    },
    {
      "index": 1,
      "report": {
        "valid": false,
        "outcome": "SCHEDULED",
        "scheduledAt": "2026-11-04T14:00:00.000Z",
        "requiredPermissions": ["posts.schedule"],
        "issues": [],
        "accounts": [
          {
            "platform": "TWITTER",
            "connectionId": "conn_abc123",
            "accountName": "@yourhandle",
            "status": "BLOCKED",
            "issues": [
              {
                "code": "TEXT_TOO_LONG",
                "severity": "ERROR",
                "message": "Text exceeds maximum length for Twitter/X. Maximum is 280 characters",
                "platform": "TWITTER",
                "connectionId": "conn_abc123"
              }
            ]
          }
        ],
        "notChecked": []
      }
    }
  ]
}