# Content Controls operations

> Content control (SDT) discovery, mutation, typed controls, and Word compatibility.



55 operations. Names, descriptions, and behavior flags come from the canonical contract.

## Discover and inspect

- [`contentControls.list`](/document-api/reference/content-controls/list) (read): List all content controls in the document with optional type/tag filtering.
- [`contentControls.get`](/document-api/reference/content-controls/get) (read): Retrieve a single content control by target.
- [`contentControls.listInRange`](/document-api/reference/content-controls/list-in-range) (read): List content controls within a block range.
- [`contentControls.selectByTag`](/document-api/reference/content-controls/select-by-tag) (read): Select content controls matching a specific tag value.
- [`contentControls.selectByTitle`](/document-api/reference/content-controls/select-by-title) (read): Select content controls matching a specific title (alias) value.
- [`contentControls.listChildren`](/document-api/reference/content-controls/list-children) (read): List direct child content controls nested inside the target.
- [`contentControls.getParent`](/document-api/reference/content-controls/get-parent) (read): Get the parent content control of the target, if any.
- [`contentControls.getContent`](/document-api/reference/content-controls/get-content) (read): Get the text content of a content control.
- [`contentControls.getBinding`](/document-api/reference/content-controls/get-binding) (read): Get the data binding metadata (w:dataBinding) of a content control.
- [`contentControls.getRawProperties`](/document-api/reference/content-controls/get-raw-properties) (read): Get the raw sdtPr properties of a content control as a passthrough hash.
- [`contentControls.validateWordCompatibility`](/document-api/reference/content-controls/validate-word-compatibility) (read): Validate a content control for Word compatibility issues.
- [`contentControls.checkbox.getState`](/document-api/reference/content-controls/checkbox/get-state) (read): Get the checked state of a checkbox content control.
- [`contentControls.choiceList.getItems`](/document-api/reference/content-controls/choice-list/get-items) (read): Get the list items and selected value of a comboBox or dropDownList content control.

## Create, wrap, and place

- [`create.contentControl`](/document-api/reference/content-controls/create) (mutates): Create a new content control (SDT) in the document, optionally seeded with plain text or structured block preset content.
- [`contentControls.wrap`](/document-api/reference/content-controls/wrap) (mutates): Wrap existing content with a new content control.
- [`contentControls.unwrap`](/document-api/reference/content-controls/unwrap) (mutates): Remove the content control wrapper, preserving its content in place.
- [`contentControls.delete`](/document-api/reference/content-controls/delete) (mutates): Delete a content control and its content from the document.
- [`contentControls.copy`](/document-api/reference/content-controls/copy) (mutates): Copy a content control to a destination position. Copied SDTs receive new IDs.
- [`contentControls.move`](/document-api/reference/content-controls/move) (mutates, tracked): Move a content control to a new position: before or after another SDT, to the document start or end, or to an arbitrary caret inside a paragraph (the inParagraph destination) for drag-and-drop. Direct moves preserve the original ID; tracked-mode authoring supports safe top-level block SDTs (SDT-to-SDT destinations only) and remaps the destination SDT ID to avoid duplicate live anchors.
- [`contentControls.appendContent`](/document-api/reference/content-controls/append-content) (mutates): Append content to the end of a content control.
- [`contentControls.prependContent`](/document-api/reference/content-controls/prepend-content) (mutates): Prepend content to the beginning of a content control.
- [`contentControls.insertBefore`](/document-api/reference/content-controls/insert-before) (mutates): Insert content immediately before a content control.
- [`contentControls.insertAfter`](/document-api/reference/content-controls/insert-after) (mutates): Insert content immediately after a content control.

## Values and typed controls

- [`contentControls.replaceContent`](/document-api/reference/content-controls/replace-content) (mutates, tracked): Replace the entire content of a content control.
- [`contentControls.clearContent`](/document-api/reference/content-controls/clear-content) (mutates): Clear all content inside a content control, leaving it empty.
- [`contentControls.text.setMultiline`](/document-api/reference/content-controls/text/set-multiline) (mutates): Set or clear the multiline attribute on a plain-text content control.
- [`contentControls.text.setValue`](/document-api/reference/content-controls/text/set-value) (mutates): Set the text value of a plain-text content control.
- [`contentControls.text.clearValue`](/document-api/reference/content-controls/text/clear-value) (mutates): Clear the text value of a plain-text content control.
- [`contentControls.date.setValue`](/document-api/reference/content-controls/date/set-value) (mutates): Set the date value of a date content control.
- [`contentControls.date.clearValue`](/document-api/reference/content-controls/date/clear-value) (mutates): Clear the date value of a date content control.
- [`contentControls.date.setDisplayFormat`](/document-api/reference/content-controls/date/set-display-format) (mutates): Set the display format string for a date content control.
- [`contentControls.date.setDisplayLocale`](/document-api/reference/content-controls/date/set-display-locale) (mutates): Set the display locale for a date content control.
- [`contentControls.date.setStorageFormat`](/document-api/reference/content-controls/date/set-storage-format) (mutates): Set the XML storage format for a date content control.
- [`contentControls.date.setCalendar`](/document-api/reference/content-controls/date/set-calendar) (mutates): Set the calendar type for a date content control.
- [`contentControls.checkbox.setState`](/document-api/reference/content-controls/checkbox/set-state) (mutates): Set the checked state of a checkbox content control.
- [`contentControls.checkbox.toggle`](/document-api/reference/content-controls/checkbox/toggle) (mutates): Toggle the checked state of a checkbox content control.
- [`contentControls.checkbox.setSymbolPair`](/document-api/reference/content-controls/checkbox/set-symbol-pair) (mutates): Set the checked and unchecked symbol glyphs for a checkbox content control.
- [`contentControls.choiceList.setItems`](/document-api/reference/content-controls/choice-list/set-items) (mutates): Replace the list items of a comboBox or dropDownList content control.
- [`contentControls.choiceList.setSelected`](/document-api/reference/content-controls/choice-list/set-selected) (mutates): Set the selected value of a comboBox or dropDownList content control.

## Locking, metadata, and XML binding

- [`contentControls.patch`](/document-api/reference/content-controls/patch) (mutates): Patch metadata properties on a content control (tag, alias, appearance, color, etc.).
- [`contentControls.setLockMode`](/document-api/reference/content-controls/set-lock-mode) (mutates): Set the lock mode on a content control.
- [`contentControls.setType`](/document-api/reference/content-controls/set-type) (mutates): Transition a content control to a different semantic type. Metadata-only; no implicit content rewrite.
- [`contentControls.setBinding`](/document-api/reference/content-controls/set-binding) (mutates): Set data binding metadata on a content control.
- [`contentControls.clearBinding`](/document-api/reference/content-controls/clear-binding) (mutates): Remove data binding metadata from a content control.
- [`contentControls.patchRawProperties`](/document-api/reference/content-controls/patch-raw-properties) (mutates): Apply raw XML-level patches to the sdtPr subtree of a content control.
- [`contentControls.normalizeWordCompatibility`](/document-api/reference/content-controls/normalize-word-compatibility) (mutates): Normalize a content control to resolve Word compatibility issues.
- [`contentControls.normalizeTagPayload`](/document-api/reference/content-controls/normalize-tag-payload) (mutates): Normalize a content control tag between plain-string and JSON-encoded formats.

## Repeating sections and groups

- [`contentControls.repeatingSection.listItems`](/document-api/reference/content-controls/repeating-section/list-items) (read): List the repeating section items inside a repeating section content control.
- [`contentControls.repeatingSection.insertItemBefore`](/document-api/reference/content-controls/repeating-section/insert-item-before) (mutates): Insert a new item before a specific index in a repeating section.
- [`contentControls.repeatingSection.insertItemAfter`](/document-api/reference/content-controls/repeating-section/insert-item-after) (mutates): Insert a new item after a specific index in a repeating section.
- [`contentControls.repeatingSection.cloneItem`](/document-api/reference/content-controls/repeating-section/clone-item) (mutates): Clone a repeating section item at the given index. Cloned SDTs receive new IDs.
- [`contentControls.repeatingSection.deleteItem`](/document-api/reference/content-controls/repeating-section/delete-item) (mutates): Delete a repeating section item at the given index.
- [`contentControls.repeatingSection.setAllowInsertDelete`](/document-api/reference/content-controls/repeating-section/set-allow-insert-delete) (mutates): Set the allowInsertDelete flag on a repeating section.
- [`contentControls.group.wrap`](/document-api/reference/content-controls/group/wrap) (mutates): Wrap a content control inside a new group content control. Always nests; not idempotent.
- [`contentControls.group.ungroup`](/document-api/reference/content-controls/group/ungroup) (mutates): Remove the group designation from a group content control.

