Skip to content

madoo.design-pages-manifest/v2

DesignDocument page images manifest — Selected raster pages and durable image references from a published document template.

Reference madoo.design-pages-manifest/v2
Schema id urn:madoo:schema:design-pages-manifest:v2
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.design-pages-manifest/v2 · MCP get_json_schema
  • Produced by: design/template_render → pages_manifest
Field Type Required Rules Description
schema "madoo.design-pages-manifest/v2" yes Versioned contract identifier.
templateId string yes pattern “^tpl_[0-9a-f]{32}$” Public id of the template, as in /api/v1/design-templates.
templateVersionId string yes pattern “^tplv_[0-9a-f]{32}$” Public id of the immutable published revision used for this render.
revisionNumber integer yes ≥ 1 Human-readable published revision number.
totalRenderedPages integer yes ≥ 1 Number of pages in the rendered document before page selection.
selectedPages array of integer yes min items 1; max items 100 One-based page numbers requested by the workflow, in output order.
pages array of objects yes min items 1; max items 100 One durable JPEG artifact per selected page, in the same order as selectedPages.
pages[].pageNumber integer yes ≥ 1 One-based original page number.
pages[].storageUri string yes min length 1 Durable reference to the rendered page image.
pages[].contentType "image/jpeg" yes
pages[].sizeBytes integer yes ≥ 1 Stored image size in bytes.
madoo.design-pages-manifest/v2 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:design-pages-manifest:v2",
"title": "DesignDocument Page Images Manifest v2",
"description": "The selected raster pages produced by design/template_render, with durable image references and the public identity of the template revision used.",
"type": "object",
"required": [
"schema",
"templateId",
"templateVersionId",
"revisionNumber",
"totalRenderedPages",
"selectedPages",
"pages"
],
"properties": {
"schema": {
"const": "madoo.design-pages-manifest/v2",
"description": "Versioned contract identifier."
},
"templateId": {
"type": "string",
"pattern": "^tpl_[0-9a-f]{32}$",
"description": "Public id of the template, as in /api/v1/design-templates."
},
"templateVersionId": {
"type": "string",
"pattern": "^tplv_[0-9a-f]{32}$",
"description": "Public id of the immutable published revision used for this render."
},
"revisionNumber": {
"type": "integer",
"minimum": 1,
"description": "Human-readable published revision number."
},
"totalRenderedPages": {
"type": "integer",
"minimum": 1,
"description": "Number of pages in the rendered document before page selection."
},
"selectedPages": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"description": "One-based page numbers requested by the workflow, in output order.",
"items": {
"type": "integer",
"minimum": 1
}
},
"pages": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"description": "One durable JPEG artifact per selected page, in the same order as selectedPages.",
"items": {
"$ref": "#/$defs/pageArtifact"
}
}
},
"$defs": {
"pageArtifact": {
"type": "object",
"required": [
"pageNumber",
"storageUri",
"contentType",
"sizeBytes"
],
"properties": {
"pageNumber": {
"type": "integer",
"minimum": 1,
"description": "One-based original page number."
},
"storageUri": {
"type": "string",
"minLength": 1,
"description": "Durable reference to the rendered page image."
},
"contentType": {
"const": "image/jpeg"
},
"sizeBytes": {
"type": "integer",
"minimum": 1,
"description": "Stored image size in bytes."
}
},
"additionalProperties": false
}
},
"examples": [
{
"schema": "madoo.design-pages-manifest/v2",
"templateId": "tpl_11111111111141118111111111111111",
"templateVersionId": "tplv_22222222222242228222222222222222",
"revisionNumber": 1,
"totalRenderedPages": 2,
"selectedPages": [
1,
2
],
"pages": [
{
"pageNumber": 1,
"storageUri": "organization/workspace/executions/page_001.jpg",
"contentType": "image/jpeg",
"sizeBytes": 124000
},
{
"pageNumber": 2,
"storageUri": "organization/workspace/executions/page_002.jpg",
"contentType": "image/jpeg",
"sizeBytes": 118000
}
]
}
],
"additionalProperties": false
}