Validate a proposed post
validate_postRead-only dry run of publish-time validation. Leaves nothing behind: no saved post, reserved quota, upload, schedule or publication. Runs the real validation path inside a rolled-back transaction and returns structured platform, field, code, message and blocking issues. Takes existing media IDs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caption | Yes | Shared caption; may be empty when attaching media. | |
| is_draft | No | Safe default. Set false explicitly when scheduling or publishing. | |
| media_ids | No | Previously uploaded media IDs. Omit on updates to preserve media. | |
| publish_now | No | Publish immediately instead of saving a draft. Requires workspace opt-in. | |
| scheduled_at | No | Future ISO-8601 timestamp including Z or an explicit offset. | |
| content_pillar | No | Exact content pillar name from list_social_accounts. | |
| platform_captions | No | Caption strings keyed by platform or platform:account_id. | |
| social_account_ids | No | Account IDs from list_social_accounts, not platform names. | |
| platform_configurations | No | Platform-specific settings keyed by platform. On updates, the fields you send are merged into the stored settings; omitted platforms and fields keep their values. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Stable machine-readable error code. Present only for an error result. | |
| valid | No | ||
| errors | No | Validation messages keyed by input field. | |
| issues | No | Structured validation issues. | |
| message | No | Safe error summary. Present only for an error result. | |
| retry_after | No | Seconds to wait before retrying a rate-limited request. |