{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cloudmersive/json-schema/cloudmersive-insert-docx-tables-request-schema.json",
  "title": "InsertDocxTablesRequest",
  "description": "Input to a Insert Tables request",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cloudmersive-editdocument-api-openapi.yml#/components/schemas/InsertDocxTablesRequest",
  "type": "object",
  "properties": {
    "InputFileBytes": {
      "format": "byte",
      "description": "Optional: Bytes of the input file to operate on",
      "type": "string"
    },
    "InputFileUrl": {
      "description": "Optional: URL of a file to operate on as input.  This can be a public URL, or you can also use the begin-editing API to upload a document and pass in the secure URL result from that operation as the URL here (this URL is not public).",
      "type": "string"
    },
    "TableToInsert": {
      "$ref": "#/$defs/DocxTable",
      "description": "Table you would like to insert"
    },
    "InsertPlacement": {
      "description": "Optional; default is DocumentEnd.  Placement Type of the insert; possible values are: DocumentStart (very beginning of the document), DocumentEnd (very end of the document), BeforeExistingObject (right before an existing object - fill in the InsertPath field using the Path value from an existing object), AfterExistingObject (right after an existing object - fill in the InsertPath field using the Path value from an existing object)",
      "type": "string"
    },
    "InsertPath": {
      "description": "Optional; location within the document to insert the object; fill in the InsertPath field using the Path value from an existing object.  Used with InsertPlacement of BeforeExistingObject or AfterExistingObject",
      "type": "string"
    }
  },
  "$defs": {
    "DocxParagraph": {
      "description": "A paragraph in a Word Document (DOCX) file; there is where text, content and formatting are stored - similar to the paragraph tag in HTML",
      "type": "object",
      "properties": {
        "ParagraphIndex": {
          "format": "int32",
          "description": "The index of the paragraph; 0-based",
          "type": "integer"
        },
        "Path": {
          "description": "The Path of the location of this Paragraph object; leave blank during creation",
          "type": "string"
        },
        "ContentRuns": {
          "description": "The content runs in the paragraph - this is where text is stored; similar to a span in HTML",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocxRun"
          }
        },
        "StyleID": {
          "description": "Style ID of the style applied to the paragraph; null if no style is applied",
          "type": "string"
        }
      }
    },
    "DocxRun": {
      "description": "A content run in a Word Document (DOCX) file",
      "type": "object",
      "properties": {
        "RunIndex": {
          "format": "int32",
          "description": "Index of the run, 0-based",
          "type": "integer"
        },
        "Path": {
          "description": "The Path of the location of this Run object; leave blank for creation",
          "type": "string"
        },
        "TextItems": {
          "description": "Text items inside the run; this is where the actual text content is stored",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocxText"
          }
        },
        "Bold": {
          "description": "True to make the text bold, false otherwise",
          "type": "boolean"
        },
        "Italic": {
          "description": "True to make the text italic, false otherwise",
          "type": "boolean"
        },
        "Underline": {
          "description": "Underline mode for the text; possible values are: Words, Double, Thick, Dotted, DottedHeavy, Dash, DashedHeavy, DashLong, DashLongHeavy, DotDash, DashDotHeavy, DotDotDash, DashDotDotHeavy, Wave, WavyHeavy, WavyDouble, None",
          "type": "string"
        },
        "FontFamily": {
          "description": "Font Family name for the text, e.g. \"Arial\" or \"Times New Roman\"",
          "type": "string"
        },
        "FontSize": {
          "description": "Font size in font points (e.g. \"24\")",
          "type": "string"
        }
      }
    },
    "DocxTable": {
      "description": "A table in a Word Document (DOCX) file",
      "type": "object",
      "properties": {
        "TableID": {
          "description": "The ID of the table; leave blank for new tables",
          "type": "string"
        },
        "Path": {
          "description": "The Path of the location of this table object; leave blank for new tables",
          "type": "string"
        },
        "Width": {
          "description": "The Width of the table, or 0 if not specified",
          "type": "string"
        },
        "WidthType": {
          "description": "The Width configuration type of the table",
          "type": "string"
        },
        "TableRows": {
          "description": "Rows in the table; this is where the contents is located",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocxTableRow"
          }
        },
        "TopBorderType": {
          "description": "Type for the top border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "TopBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "TopBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "TopBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "BottomBorderType": {
          "description": "Type for the bottom border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "BottomBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "BottomBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "BottomBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "LeftBorderType": {
          "description": "Type for the left border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "LeftBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "LeftBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "LeftBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "RightBorderType": {
          "description": "Type for the right border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "RightBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "RightBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "RightBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "CellHorizontalBorderType": {
          "description": "Type for the cell horizontal border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "CellHorizontalBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "CellHorizontalBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "CellHorizontalBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "CellVerticalBorderType": {
          "description": "Type for the cell vertical border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "CellVerticalBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "CellVerticalBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "CellVerticalBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "StartBorderType": {
          "description": "Type for the start border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "StartBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "StartBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "StartBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "EndBorderType": {
          "description": "Type for the end border - can be a Single, DashDotStroked, Dashed, DashSmallGap, DotDash, DotDotDash, Dotted, Double, DoubleWave, Inset, Nil, None, Outset, Thick, ThickThinLargeGap, ThickThinMediumGap, ThickThinSmallGap, ThinThickLargeGap, ThinThickMediumGap, ThinThickSmallGap, ThinThickThinLargeGap, ThinThickThinMediumGap, ThinThickThinSmallGap, ThreeDEmboss, ThreeDEngrave, Triple, Wave",
          "type": "string"
        },
        "EndBorderSize": {
          "format": "int32",
          "description": "Width of the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "EndBorderSpace": {
          "format": "int32",
          "description": "Spacing around the border in points (1/72nd of an inch)",
          "type": "integer"
        },
        "EndBorderColor": {
          "description": "HTML-style color hex value (do not include a #)",
          "type": "string"
        },
        "TableIndentationMode": {
          "description": "Table indentation type",
          "type": "string"
        },
        "TableIndentationWidth": {
          "format": "int32",
          "description": "Table indentation width",
          "type": "integer"
        }
      }
    },
    "DocxTableCell": {
      "description": "A cell in a Word Document (DOCX) file",
      "type": "object",
      "properties": {
        "CellIndex": {
          "format": "int32",
          "description": "The index of the cell, 0-based",
          "type": "integer"
        },
        "Path": {
          "description": "The Path of the location of this object; leave blank for new tables",
          "type": "string"
        },
        "Paragraphs": {
          "description": "Paragraphs inside the cell; this is where the contents of the cell are stored",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocxParagraph"
          }
        },
        "CellShadingColor": {
          "description": "Color of the cell shading",
          "type": "string"
        },
        "CellShadingFill": {
          "description": "Fill of the cell shading",
          "type": "string"
        },
        "CellShadingPattern": {
          "description": "Pattern of the cell shading",
          "type": "string"
        },
        "CellWidthMode": {
          "description": "Width mode of the cell; can be auto (for automatic) or manual",
          "type": "string"
        },
        "CellWidth": {
          "description": "Width of the cell",
          "type": "string"
        }
      }
    },
    "DocxTableRow": {
      "description": "A row in a Word Document (DOCX) file",
      "type": "object",
      "properties": {
        "RowIndex": {
          "format": "int32",
          "description": "Index of the row, 0-based",
          "type": "integer"
        },
        "Path": {
          "description": "The Path of the location of this table row object; leave blank for new tables",
          "type": "string"
        },
        "RowCells": {
          "description": "Cells in the row; this is where the contents of the row is stored",
          "type": "array",
          "items": {
            "$ref": "#/$defs/DocxTableCell"
          }
        }
      }
    },
    "DocxText": {
      "description": "Unit of text content in a Word Document (DOCX) file",
      "type": "object",
      "properties": {
        "TextIndex": {
          "format": "int32",
          "description": "Index of the text content in the run; 0-based",
          "type": "integer"
        },
        "Path": {
          "description": "The Path of the location of this Text object; leave blank for creation",
          "type": "string"
        },
        "TextContent": {
          "description": "Text string containing the text content of this text content item",
          "type": "string"
        }
      }
    }
  }
}