changedInput schema / properties / includeCategories / description
Previous value: -"If true, retrieves the list of global annotation categories in the file"New value: +"Include the file's global annotation categories in the result. Defaults to true; pass false to omit them."
addedOutput schema / properties / annotatedNodes
Added value: +{
+ "description": "Grouped annotations, preserving the owning node in page and node modes",
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "annotations": {
+ "description": "Annotations owned by this node",
+ "items": {
+ "additionalProperties": {},
+ "properties": {
+ "categoryId": {
+ "type": "string"
+ },
+ "label": {
+ "description": "Optional plain-text annotation label",
+ "type": "string"
+ },
+ "labelMarkdown": {
+ "description": "Optional Markdown annotation label",
+ "type": "string"
+ },
+ "properties": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "type": {
+ "enum": [
+ "width",
+ "height",
+ "maxWidth",
+ "minWidth",
+ "maxHeight",
+ "minHeight",
+ "fills",
+ "strokes",
+ "effects",
+ "strokeWeight",
+ "cornerRadius",
+ "textStyleId",
+ "textAlignHorizontal",
+ "fontFamily",
+ "fontStyle",
+ "fontSize",
+ "fontWeight",
+ "lineHeight",
+ "letterSpacing",
+ "itemSpacing",
+ "padding",
+ "layoutMode",
+ "alignItems",
+ "opacity",
+ "mainComponent",
+ "gridRowGap",
+ "gridColumnGap",
+ "gridRowCount",
+ "gridColumnCount",
+ "gridRowAnchorIndex",
+ "gridColumnAnchorIndex",
+ "gridRowSpan",
+ "gridColumnSpan"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Current name of the owning node",
+ "type": "string"
+ },
+ "nodeId": {
+ "description": "ID of the node that owns these annotations",
+ "type": "string"
+ }
+ },
+ "required": [
+ "nodeId",
+ "name",
+ "annotations"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
removedOutput schema / properties / annotations
Removed value: -{
- "description": "List of annotations",
- "items": {},
- "type": "array"
-}
addedOutput schema / properties / categories / items / additionalProperties
Added value: +{}
addedOutput schema / properties / categories / items / properties
Added value: +{
+ "color": {
+ "enum": [
+ "yellow",
+ "orange",
+ "red",
+ "pink",
+ "violet",
+ "blue",
+ "teal",
+ "green"
+ ],
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "isPreset": {
+ "type": "boolean"
+ },
+ "label": {
+ "type": "string"
+ }
+}
addedOutput schema / properties / categories / items / required
Added value: +[
+ "id",
+ "label",
+ "color",
+ "isPreset"
+]
addedOutput schema / properties / categories / items / type
Added value: +"object"
addedOutput schema / properties / coverage
Added value: +{
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "complete": {
+ "const": true,
+ "description": "Every attempted page succeeded",
+ "type": "boolean"
+ },
+ "pageErrors": {
+ "description": "Empty: no page failed",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "additionalProperties": false,
+ "description": "Structured per-page failure",
+ "properties": {
+ "code": {
+ "description": "Stable machine-readable failure code (see the error playbook)",
+ "type": "string"
+ },
+ "details": {
+ "description": "Optional structured context (e.g. partialMutation, before-values)"
+ },
+ "message": {
+ "description": "Human/agent-readable message embedding its own recovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "pageId": {
+ "description": "ID of the page that could not be loaded, resolved, or read",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pageId",
+ "error"
+ ],
+ "type": "object"
+ },
+ "maxItems": 0,
+ "type": "array"
+ },
+ "pagesAttempted": {
+ "description": "Distinct pages this call tried to resolve, load, or read. 0 means the result required no page access at all — it does NOT mean the document was checked and found clean.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "complete",
+ "pagesAttempted",
+ "pageErrors"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "complete": {
+ "const": false,
+ "description": "At least one attempted page failed",
+ "type": "boolean"
+ },
+ "pageErrors": {
+ "description": "Structured failures for pages omitted from this result; successful pages are still returned",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "additionalProperties": false,
+ "description": "Structured per-page failure",
+ "properties": {
+ "code": {
+ "description": "Stable machine-readable failure code (see the error playbook)",
+ "type": "string"
+ },
+ "details": {
+ "description": "Optional structured context (e.g. partialMutation, before-values)"
+ },
+ "message": {
+ "description": "Human/agent-readable message embedding its own recovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "pageId": {
+ "description": "ID of the page that could not be loaded, resolved, or read",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pageId",
+ "error"
+ ],
+ "type": "object"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "pagesAttempted": {
+ "description": "Distinct pages this call tried to resolve, load, or read. 0 means the result required no page access at all — it does NOT mean the document was checked and found clean.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "complete",
+ "pagesAttempted",
+ "pageErrors"
+ ],
+ "type": "object"
+ }
+ ],
+ "description": "Page-scan coverage; partial read data remains usable when complete is false"
+}
addedOutput schema / properties / error
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "description": "Stable machine-readable failure code (see the error playbook)",
+ "type": "string"
+ },
+ "details": {
+ "description": "Optional structured context (e.g. partialMutation, before-values)"
+ },
+ "message": {
+ "description": "Human/agent-readable message embedding its own recovery",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+}