Render a structured document to a native Word (.docx) file.
Use describe("docx.render") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/docx |
| Domain / verb | docx / render |
| Customer jobs | create |
| Deterministic | Yes |
| Side effects | network |
Availability
| Local | SDK | CLI | MCP | Managed API |
|---|---|---|---|---|
| public ga | public ga | public ga | public ga | public ga |
Managed API route: POST /api/v2/operations/docx/render. Managed execution requires a free-trial workspace or an active Platform or Enterprise workspace, and an environment-bound API key.
Input and result
| Schema | Required fields | Optional fields |
|---|---|---|
| Input | pages | type, metadata, accessible, pageSize, orientation, margins, theme, template, tableOfContents, header, footer, differentFirstPage, firstPageHeader, firstPageFooter, oddPageHeader, oddPageFooter, evenPageHeader, evenPageFooter, watermark, revisionInfo, options |
| Options | none | deterministic, deterministicSeed, timeoutMs, locale, lossPolicy, limits, render |
| Result value | bytes, mediaType, extension, byteLength, hash | none |
Every success also carries losses, diagnostics, and a hash-bound receipt.
Defaults, limits, and format constraints
Defaults
| Path | Default |
|---|---|
$.deterministic | default=true |
$.lossPolicy | default="collect" |
Formats and profiles
| Path | Constraint |
|---|---|
$.header.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.footer.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.firstPageHeader.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.firstPageFooter.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.oddPageHeader.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.oddPageFooter.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.evenPageHeader.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.evenPageFooter.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.pages[].header.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.pages[].footer.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.pages[].headerFooter.header.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
$.pages[].headerFooter.footer.pageNumberFormat | oneOf="decimal","roman","romanUpper","letter","letterUpper" |
Other limits
| Path | Constraint |
|---|---|
$.tableOfContents.anyOf[1].maxLevel | minimum=1maximum=6 |
$.header.style.opacity | minimum=0maximum=1 |
$.header.style.comment.id | minimum=0maximum=9007199254740991 |
$.header.style.comment.parentId | minimum=0maximum=9007199254740991 |
$.header.style.comment.date.anyOf[0] | pattern (see exact schema) |
$.footer.style.opacity | minimum=0maximum=1 |
$.footer.style.comment.id | minimum=0maximum=9007199254740991 |
$.footer.style.comment.parentId | minimum=0maximum=9007199254740991 |
$.footer.style.comment.date.anyOf[0] | pattern (see exact schema) |
$.firstPageHeader.style.opacity | minimum=0maximum=1 |
$.firstPageHeader.style.comment.id | minimum=0maximum=9007199254740991 |
$.firstPageHeader.style.comment.parentId | minimum=0maximum=9007199254740991 |
$.firstPageHeader.style.comment.date.anyOf[0] | pattern (see exact schema) |
$.firstPageFooter.style.opacity | minimum=0maximum=1 |
$.firstPageFooter.style.comment.id | minimum=0maximum=9007199254740991 |
$.firstPageFooter.style.comment.parentId | minimum=0maximum=9007199254740991 |
$.firstPageFooter.style.comment.date.anyOf[0] | pattern (see exact schema) |
$.oddPageHeader.style.opacity | minimum=0maximum=1 |
Showing 32 of 108 constraints. Use describe() or the machine-readable reference for the complete schema.
Invoke
const input = await fetch("https://runstamp.com/demo-evidence/operation-evidence/docx/docx.render/input.json").then((response) => response.json());
const result = await runstamp.run("docx.render", input);
if (!result.ok) throw new Error(`${result.error.code}: ${result.error.remediation}`);
console.log(result.value, result.losses, result.diagnostics, result.receipt);curl -fsS https://runstamp.com/demo-evidence/operation-evidence/docx/docx.render/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke docx.render --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "docx.render",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/docx/docx.render/input.json>",
"execution_mode": "local"
}
}Errors and losses
Declared errors (7)
common/SCHEMA_REJECTEDcommon/CONTRACT_VIOLATIONcommon/OPERATION_CANCELLEDcommon/OPERATION_TIMEOUTcommon/RESOURCE_LIMIT_EXCEEDEDdocx/DOC_INVALIDdocx/LOSS_POLICY_VIOLATED
Declared losses (10)
docx/DIFF_PART_DROPPEDdocx/DIFF_PART_CHANGEDdocx/DIFF_SECTION_CHANGEDdocx/DIFF_BODY_FEATURE_DROPPEDdocx/PLACEHOLDER_UNFILLEDdocx/PLACEHOLDER_SPLITdocx/PDF_BRIDGE_APPROXIMATEDdocx/HTML_CONSTRUCT_UNSUPPORTEDdocx/SERIALIZER_CONDITIONdocx/UNCLASSIFIED_CONDITION
SDK AbortSignal, CLI exit 130, and MCP cancellation return the typed common/OPERATION_CANCELLED failure envelope.
Verified example and exact contract
- Fixture:
icp-workflow(docx-analysis-qbr-saas-q2-fy26.json). - Example input — SHA-256
5106ccd9c5efe61d04607ab64c401d4becf34acceba182893c39f994f0e58a50. - Example result — SHA-256
1f3b0cbfef6153914af16e28fd82cf75f8f1b5e7855bffdcc2fa65b865e43d2c. - Verified result SHA-256:
db48d8ffbd621961dd918b02ef3cfff3c4eadb8a7e11c6dd3c36d5f957c635cc. - Qualification lane:
10-pptx-docx.
Contract fingerprints
- Descriptor:
9ec100d3a98691d44462e008d353ee6a6447c7be5cbd859ba563e86b807374d0. - Input schema:
8ccf9718499709f4a9786f9a1bdc0ac680b2ab408ad773ba576861a503845532. - Options schema:
e2ef8606025e7dd6e6b0c7543f5efc7eb0c4c58220ccb35d3cf7e9811ab510c4. - Result value schema:
900df03722b376a753e1ea6ebc24749e5c92adf7648c00f22bbcbefe2d0aed73.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.