compositions

Validate a composition body without saving it (dry-run)

Dry-run the FULL save-time authoring guard set against a Composition body WITHOUT persisting it and without a project. Runs the same pure, DB-free guards saveComposition enforces — wire shape, primitive membership (unknown_primitive / custom_missing_sourcecode), required-param shape (invalid_primitive_params), clip↔track family (clip_source_track_mismatch), reframe coverage (reframe_coverage_gap), and font admission (font_not_reproducible: a caption/param face that is neither bundled nor sealed in a brand font asset) — and returns ONE shape, 200 { valid, errors[] }, for BOTH wire-shape and deep-invariant failures (no 400-vs-200 split). valid:false lists every authoring error (sanitized envelopes) to fix before save/render. The ONLY checks NOT run here are the two DB-bound ones — trim-bounds (media duration) and image/asset-on-video-track (media kind) — which can only be caught at save/render.

post/v1/composition/validate

Request

  • Base URL: https://api.cueframe.ai
  • URL: https://api.cueframe.ai/v1/composition/validate
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://api.cueframe.ai/api/auth/mcp/authorize, token URL https://api.cueframe.ai/api/auth/mcp/token)
    • API key in header PAYMENT-SIGNATURE

Request body

v1 required
sourceSuggestionIdstring
licenseVerification'attested' | 'cueframe-verified' | 'third-party-verified'
ownerOrgIdstring

Response

Validation verdict (ALWAYS 200 for a JSON body — both wire-shape and deep-invariant failures). valid:false lists authoring errors (envelopes) to fix before save/render; valid:true means the composition passes every pure save-time guard.

contractstring required

The contract this verdict was computed against (the kernel version the deployment runs). If it differs between two calls, the validator changed, not your composition.

validboolean required
warningsstring[]

Non-blocking render-fidelity warnings detected before enqueue, including unavailable font families.

Changes

No recorded changes to this operation across all 1 revision of this API.