Alpha: Document API is currently alpha and subject to breaking changes.
Summary
Remove a hyperlink. Mode ‘unwrap’ preserves display text; ‘deleteText’ removes the linked content entirely.- Operation ID:
hyperlinks.remove - API member path:
editor.doc.hyperlinks.remove(...) - Mutates document:
yes - Idempotency:
conditional - Supports tracked mode:
no - Supports dry run:
yes - Deterministic target resolution:
yes
Expected result
Returns a HyperlinkMutationResult with the removed hyperlink address on success, or a failure code on no-op.Input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | enum | no | "unwrap", "deleteText" |
target | object(kind=“inline”) | yes | |
target.anchor | InlineAnchor | yes | InlineAnchor |
target.anchor.end | Position | yes | Position |
target.anchor.end.blockId | string | yes | |
target.anchor.end.offset | integer | yes | |
target.anchor.start | Position | yes | Position |
target.anchor.start.blockId | string | yes | |
target.anchor.start.offset | integer | yes | |
target.kind | "inline" | yes | Constant: "inline" |
target.nodeType | "hyperlink" | yes | Constant: "hyperlink" |
Example request
Output fields
Variant 1 (hyperlink.kind=“inline”)
| Field | Type | Required | Description |
|---|---|---|---|
hyperlink | object(kind=“inline”) | yes | |
hyperlink.anchor | InlineAnchor | yes | InlineAnchor |
hyperlink.anchor.end | Position | yes | Position |
hyperlink.anchor.end.blockId | string | yes | |
hyperlink.anchor.end.offset | integer | yes | |
hyperlink.anchor.start | Position | yes | Position |
hyperlink.anchor.start.blockId | string | yes | |
hyperlink.anchor.start.offset | integer | yes | |
hyperlink.kind | "inline" | yes | Constant: "inline" |
hyperlink.nodeType | "hyperlink" | yes | Constant: "hyperlink" |
success | true | yes | Constant: true |
Variant 2 (success=false)
| Field | Type | Required | Description |
|---|---|---|---|
failure | object | yes | |
failure.code | enum | yes | "NO_OP", "INVALID_TARGET", "TARGET_NOT_FOUND", "CAPABILITY_UNAVAILABLE" |
failure.details | object | no | |
failure.message | string | yes | |
success | false | yes | Constant: false |
Example response
Pre-apply throws
TARGET_NOT_FOUNDCAPABILITY_UNAVAILABLEINVALID_TARGETINVALID_INPUT
Non-applied failure codes
NO_OP
Raw schemas
Raw input schema
Raw input schema
Raw output schema
Raw output schema
Raw success schema
Raw success schema
Raw failure schema
Raw failure schema

