Migrate V1 to V2
PaperJSX V1 accepted presentationTitle plus slide pattern payloads. V2 uses a semantic PresentationSpec, durable render jobs, brand packs, preflight findings, visual diff, and approvals.
What Changes
presentationTitlebecomestitle- slide
patternbecomesslideType - one-shot generation becomes
preflight → render → poll - brand-aware layout uses
brandPackId/brandPackVersionId - QA findings become stable, machine-readable
quality_report.findings[]
Old vs New
JSON
{
"presentationTitle": "Board Update",
"slides": [
{
"pattern": "title",
"content": { "title": "Board Update" }
}
]
}
JSON
{
"version": "2.0",
"title": "Board Update",
"layoutFamily": "editorial",
"slides": [
{
"slideType": "title-body",
"title": "Board Update",
"body": ["Use semantic content blocks instead of pattern-specific envelopes."]
}
]
}
Request Flow
POST /api/v2/preflight— validate the document.POST /api/v2/render— queue or run the render.GET /api/v2/jobs/:id— poll status and artifacts.GET /api/v2/jobs/:id/diff— review diff against a baseline.POST /api/v2/jobs/:id/approval— approve or reject.
V2 is the supported contract. Migrate old presentationTitle / pattern payloads to PresentationSpec before calling the hosted runtime.