Dry-run a CMS post create
Rehearse POST /cms/posts without writing anything. Runs the same structural gates the create path runs — required fields and length caps, scalar shape checks (status enum, HTTPS URLs, ISO 8601 published_at), site ownership plus the CMS-enabled and per-site CMS feature gates, the content-type enum and its plan gate, the robots enum, content_type_config object/size/per-type schema, slug availability, and whether sanitization would alter your HTML. No rows are written and no images are fetched or rehosted. Requires the write:content scope because it rehearses a write and reveals plan and feature-gate state. valid: true means every structural gate would pass; taxonomy (authors, categories, tags, FAQs) and related_post_ids are not checked here, so a create can still reject a malformed taxonomy payload. Site gates and the slug preview only run once the site is confirmed to belong to your organization, so this endpoint cannot probe another organization's slugs or entitlements — an unowned or unknown site_id simply comes back as a site_id error rather than a 404. It also returns a content-rules preflight (rules) using the same evaluation the publish gate applies, so you can see a block coming before writing; rules is advisory and never affects valid, and it is null when site_id or content was not a string, or when the preflight itself failed.
Request
- Base URL: https://next.frase.io/api/v1
- URL: https://next.frase.io/api/v1/cms/posts/validate
- Auth: API key in header X-API-KEY
Request body
Response
Validation ran. Read valid for the verdict — a 200 does not mean the input is acceptable.
Changes
No recorded changes to this operation across all 1 revision of this API.