Skip to main content

Summary

Insert content into the document. Two input shapes: text-based (value + type) inserts inline content at a SelectionTarget or ref position within an existing block; structural SDFragment (content) inserts one or more blocks as siblings relative to a BlockNodeAddress target. When target/ref is omitted, content appends at the end of the document. Text mode supports text (default), markdown, and html content types via the type field. Structural mode uses placement (before/after/insideStart/insideEnd) to position relative to the target block.
  • Operation ID: insert
  • API member path: editor.doc.insert(...)
  • Mutates document: yes
  • Idempotency: non-idempotent
  • Supports tracked mode: yes
  • Supports dry run: yes
  • Deterministic target resolution: yes

Expected result

Returns an SDMutationReceipt with applied status; resolution reports the inserted TextAddress for text insertion or a BlockNodeAddress for structural insertion. Receipt reports NO_OP if the insertion point is invalid or content is empty.

Input fields

Variant 1.1 (target.kind=“selection”)

Variant 1.2 (required: ref, value)

Variant 1.3 (required: value)

Variant 2 (target.kind=“block”)

Example request

Output fields

Variant 1 (success=true)

Variant 2 (success=false)

Example response

Pre-apply throws

  • TARGET_NOT_FOUND
  • CAPABILITY_UNAVAILABLE
  • INVALID_TARGET
  • INVALID_INPUT
  • ADDRESS_STALE
  • DUPLICATE_ID
  • RAW_MODE_REQUIRED
  • PRESERVE_ONLY_VIOLATION
  • CAPABILITY_UNSUPPORTED
  • STORY_NOT_FOUND
  • STORY_MISMATCH
  • STORY_NOT_SUPPORTED
  • CROSS_STORY_PLAN
  • MATERIALIZATION_FAILED

Non-applied failure codes

  • INVALID_TARGET
  • NO_OP
  • CAPABILITY_UNAVAILABLE
  • UNSUPPORTED_ENVIRONMENT
  • INVALID_NESTING
  • INVALID_PLACEMENT
  • INVALID_PAYLOAD
  • CAPABILITY_UNSUPPORTED
  • ADDRESS_STALE
  • DUPLICATE_ID
  • INVALID_CONTEXT
  • RAW_MODE_REQUIRED
  • PRESERVE_ONLY_VIOLATION
  • INVALID_INPUT

Raw schemas