Convert a Word document model into the shared structured model.
Use describe("docx.parse") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/docx |
| Domain / verb | docx / parse |
| Customer jobs | read |
| Deterministic | Yes |
| Side effects | none |
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/parse. 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 |
| Result value | __kind, metadata, pages, styles, assets, stats, warnings | revisionInfo, toc |
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.parse/input.json").then((response) => response.json());
const result = await runstamp.run("docx.parse", 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.parse/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke docx.parse --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "docx.parse",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/docx/docx.parse/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 (0)
- None.
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
bd16df00e820866917d431594c53a8a4636702bf11ddce5dda725b62084f7c2d. - Verified result SHA-256:
0d65cae730b0c32696e6747e20f8e29747723bf09ae2303ce47a53793eff4bb0. - Qualification lane:
10-pptx-docx.
Contract fingerprints
- Descriptor:
f3e40e9c2fd6f654a3d9cc7d91e0c45763bd73ca18c9c5ebb1348d6d341866d5. - Input schema:
8ccf9718499709f4a9786f9a1bdc0ac680b2ab408ad773ba576861a503845532. - Options schema:
1f813ee8ff60eec53976a63df5b5268944ac939e3c8c788d218b24b05164e42d. - Result value schema:
4919eda6fab40c2bee1ea1197d4e2a348a0413e85804ecdf9e6a50bb384511bf.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.