---
title: "Validate a post without creating or publishing it"
method: POST
path: "/publishing/posts/validate"
tags: ["Platform"]
---

# Validate a post without creating or publishing it

`POST /publishing/posts/validate`

## Request

- Base URL: `https://blitzreels.com/api/v1`
- URL: `https://blitzreels.com/api/v1/publishing/posts/validate`
- Auth: API key in header `Authorization`

Checks accounts, media, captions, time and provider capabilities; returns all target issues. Credentials may refresh during capability checks. No post, export or upload is created.

## Request body

- object
  - `source` union, required
    - object
      - `type` 'text', required
    - object
      - `type` 'media_asset', required
      - `media_asset_id` string, uuid, required
    - object
      - `type` 'project_export', required
      - `project_id` string, uuid, required
      - `export_id` string, uuid, required
  - `caption` string
  - `mode` 'schedule' | 'now' | 'draft'
  - `scheduled_for` string, date-time
  - `timezone` string
  - `contains_synthetic_media` boolean
  - `targets` union[], required
    - union
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'instagram', required
        - `share_to_story` boolean: Request a native Reel share. The documented Meta APIs require a manual sharing step after publication; no separate Story is uploaded.
        - `trial_reel` boolean
        - `trial_graduation_strategy` 'MANUAL' | 'SS_PERFORMANCE'
        - `share_to_feed` boolean
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'facebook', required
        - `share_to_story` boolean: Request a native Reel share. The documented Meta APIs require a manual sharing step after publication; no separate Story is uploaded.
        - `video_format` 'reel' | 'video'
        - `title` string
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'youtube', required
        - `title` string, required
        - `privacy_status` 'private' | 'unlisted' | 'public'
        - `made_for_kids` boolean, required
        - `description` string
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'tiktok', required
        - `publish_mode` 'direct_post' | 'draft'
        - `privacy_level` 'PUBLIC_TO_EVERYONE' | 'FOLLOWER_OF_CREATOR' | 'MUTUAL_FOLLOW_FRIENDS' | 'SELF_ONLY': Required for direct_post; choose an option returned by the account capability check.
        - `consent_accepted` boolean: Must be true for direct_post.
        - `allow_comment` boolean
        - `allow_duet` boolean
        - `allow_stitch` boolean
        - `cover_timestamp_ms` integer
        - `commercial_content_enabled` boolean
        - `brand_organic` boolean
        - `branded_content` boolean
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'linkedin', required
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'threads', required
      - object
        - `connection_id` string, uuid, required
        - `caption` string
        - `platform` 'x', required

## Response `200`

Successful response

- object
  - `valid` boolean, required
  - `scheduled_for` string, nullable, required
  - `timezone` string, required
  - `scheduled_local` string, nullable, required
  - `issues` object[], required
    - `code` string, required
    - `message` string, required
    - `field` string, nullable, required
    - `connection_id` string, nullable, required
    - `platform` 'youtube' | 'instagram' | 'facebook' | 'tiktok' | 'linkedin' | 'threads' | 'x', nullable, required
    - `retryable` boolean, required
  - `warnings` object[], required
    - `code` string, required
    - `message` string, required
    - `field` string, nullable, required
    - `connection_id` string, nullable, required
    - `platform` 'youtube' | 'instagram' | 'facebook' | 'tiktok' | 'linkedin' | 'threads' | 'x', nullable, required
    - `retryable` boolean, required
  - `targets` object[], required
    - `connection_id` string, required
    - `platform` 'youtube' | 'instagram' | 'facebook' | 'tiktok' | 'linkedin' | 'threads' | 'x', required
    - `account_name` string, nullable, required
    - `caption` string, required
    - `publish_kind` string, required

## Other responses

- `400`: Invalid input data
- `401`: Authorization not provided
- `403`: Insufficient access
- `500`: Internal server error

---

[API](https://skmtc.dev/blitzreels/apis/blitzreels-api.md) · [All operations](https://skmtc.dev/blitzreels/apis/blitzreels-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blitzreels/apis/blitzreels-api/revisions/35608b12471d?raw)
