Document apiReferenceContent controls

contentControls.move

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.

mutates documenttracked modedry runconditional
doc.contentControls.move(…)

Expected result

Returns a ContentControlMutationResult with the updated target position. Tracked-mode results include `trackedChangeRefs` pointing at the paired move review entity.

Inputs

targetobjectrequired
Fields
kind"block" | "inline"required
nodeType"sdt"required
nodeIdstringrequired
destinationsdt | documentStart | documentEnd | before | after | inParagraphrequired
sdt
kind"block" | "inline"required
nodeType"sdt"required
nodeIdstringrequired
documentStart
kind"documentStart"required
documentEnd
kind"documentEnd"required
before
kind"before"required
targetobjectrequired
Fields
kind"block" | "inline"required
nodeType"sdt"required
nodeIdstringrequired
after
kind"after"required
targetobjectrequired
Fields
kind"block" | "inline"required
nodeType"sdt"required
nodeIdstringrequired
inParagraph
kind"inParagraph"required
targetBlockNodeAddressrequired
Fields
kind"block"required
nodeType"paragraph" | "heading" | "listItem" | "table" | "tableRow" | "tableCell" | "tableOfContents" | "image" | "sdt"required
nodeIdstringrequired
storyStoryLocator

Story scope. Defaults to document body when omitted. Use {kind:'story', storyType:'body'} for body, or other storyType values for headers, footers, footnotes, endnotes.

body
kind"story"required
storyType"body"required
headerFooterSlot
kind"story"required
storyType"headerFooterSlot"required
sectionSectionAddressrequired
headerFooterKind"header" | "footer"required
variant"default" | "first" | "even"required
resolution"effective" | "explicit"
onWrite"materializeIfInherited" | "editResolvedPart" | "error"
headerFooterPart
kind"story"required
storyType"headerFooterPart"required
refIdstringrequired
footnote
kind"story"required
storyType"footnote"required
noteIdstringrequired
endnote
kind"story"required
storyType"endnote"required
noteIdstringrequired
textbox
kind"story"required
storyType"textbox"required
textboxIdstringrequired
offsetinteger

Result

Output fields
true
successtruerequired
contentControlobjectrequired
Fields
kind"block" | "inline"required
nodeType"sdt"required
nodeIdstringrequired
updatedRefobject
Fields
kind"block" | "inline"required
nodeType"sdt"required
nodeIdstringrequired
false
successfalserequired
failureReceiptFailurerequired
Fields
codestringrequired
messagestringrequired
detailsunknown

Failures

Pre-apply throws

  • TARGET_NOT_FOUND
  • INVALID_TARGET
  • AMBIGUOUS_TARGET
4 more codes
  • INVALID_INPUT
  • LOCK_VIOLATION
  • REVISION_MISMATCH
  • CAPABILITY_UNAVAILABLE

Non-applied receipt codes

  • NO_OP
  • CAPABILITY_UNAVAILABLE

Raw schemas

Open the generated JSON artifact for the exact input, output, success, and failure schemas represented by this contract version.

View raw JSON schemas