Blender integration through the Model Context Protocol
Adobe InDesign MCP is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Use your MCP client to work with Adobe InDesign documents, pages, text, styles, tables, books, and PDF or EPUB export. Requires InDesign installed on the same machine.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user indesign-mcp '--' npx -y adobe-mcp-indesign
# 2 — ask your agent for something these tools do
# set_character_attributes, apply_type_command, set_story_options and 417 more
Adobe InDesign MCP costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts Adobe InDesign MCP as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
This is a public server: you run it yourself and this marketplace is not in the path. You need Node.js — the current LTS (24) is the safe choice; npx comes with it. Claude Code registers it in one command; --scope user makes it available in every project. The '--' is in quotes so that PowerShell passes it on.
claude mcp add --scope user indesign-mcp '--' npx -y adobe-mcp-indesignReconnect, or start a new session, and the tools appear in the model’s tool list.
Nothing is required, but it can take INDESIGN_APP_NAME (macOS only: force a specific app name, e.g. "Adobe InDesign 2026"), INDESIGN_ALLOWED_DIRS (Extra directories allowed for file operations (':' on macOS, ';' on Windows)), INDESIGN_BACKEND (Execution backend: extendscript (default), uxp or auto) if you want to set them.
One config entry your client uses to start the process locally. A local server runs with your file system and your network, which is why it is priced without metering.
420 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Set character formatting on text: font, size, leading, kerning, tracking, scale, baseline shift, skew, rotation, case, position, ligatures, No Break, strikethrough, language, fill and stroke (Character panel, Advanced Character Formats); OpenType options; CJK options (ruby, kenten, warichu,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| character | no | — | |
| opentype | no | — | |
| cjk | no | — | |
| worldReady | no | — |
Run a type keyboard command on text: step size, leading, kerning/tracking, baseline shift or scale; auto leading; reset kerning and tracking or scale; bold, italic, normal; toggle all caps, small caps, superscript, subscript, ligatures, No Break; paragraph alignment (incl. towards/away from…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| command | string | yes | The command. Toggles read the first character and set every chosen character the same way; steps apply run by run |
| amount | number | no | Step for increase/decrease commands: points for size, leading and baseline shift (default 2), thousandths of an em for kerning/tracking (default 20), percent for scale (default 5) |
Set story options for the stories holding the chosen text: Optical Margin Alignment and its size, and story direction (Type > Story panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| opticalMarginAlignment | boolean | no | Hang punctuation and letter edges outside the frame |
| opticalMarginSize | number | no | Type size (points) optical margin alignment is based on |
| storyDirection | string | no | Story direction |
Set type preferences: Type Contextual Controls (alternates and fraction badges on selected text), font locking for Roman and Asian characters, and the HarfBuzz shaping engine for Indic and Latin text. Returns the current values; with no arguments it only reports them
| Parameter | Type | Required | Notes |
|---|---|---|---|
| showAlternates | boolean | no | Show the contextual badge for OpenType alternates on selected text (Type > Type Contextual Controls > Show Adornment) |
| showFractions | boolean | no | Show the contextual badge for fractions |
| fontChangeLocking | boolean | no | Font locking: keep Roman fonts off Asian characters (and the reverse) when changing fonts |
| fontInputLocking | boolean | no | Font locking while typing |
| harfbuzzShaping | boolean | no | Shape Indic and Latin text with the HarfBuzz engine (default shaping engine) |
| scope | string | no | Where harfbuzzShaping is set: the application default or the active document |
Insert a special character, white space or break character (Type > Insert Special Character / Insert White Space / Insert Break Character), or any glyph by Unicode code point, optionally in a given font (Glyphs panel). Inserts before or after the chosen text, or replaces it (replace characters…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| character | string | no | The special character (InDesign SpecialCharacters name) |
| glyph | object | no | A glyph instead of a special character: { unicode, fontName } |
| at | string | no | Insert after the chosen text (end), before it (start), or replace it |
| count | integer | no | How many to insert |
Run a Glyphs panel menu command: insert one of the five most recently used glyphs at the text selection, sort the panel by Unicode or by glyph ID, or clear the Recently Used row (Type > Glyphs)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | The Glyphs panel command; insert_recent_glyph_N needs a text insertion point or text selection |
Change the case of text to UPPERCASE, lowercase, Title Case or Sentence case (Type > Change Case)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| mode | string | yes | The case to change to |
Work with fonts: list the fonts used in the document or installed (family, style, type, status, variable axes), replace one font with another throughout the document and its styles (Type > Find Font), rescan font folders for missing fonts, or recompose every story
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | list fonts; replace a font; update_missing rescans font folders (Update missing font list); recompose recomposes all stories |
| scope | string | no | For list: fonts used in the active document, or every installed font |
| missingOnly | boolean | no | For list: only fonts that are not installed, substituted or fauxed |
| nameContains | string | no | For list: only fonts whose name contains this text (case-insensitive) |
| maxFonts | integer | no | For list: the most fonts to return |
| from | string | no | For replace: the font to replace, as "Family Style" or a family (every style) |
| to | string | no | For replace: the replacement, as "Family Style" or a family (keeps each style) |
| includeStyles | boolean | no | For replace: also change paragraph and character styles that use the font |
List, create, update or delete composite fonts (Type > Composite Fonts), mojikumi sets with detailed aki overrides per character class (Type > Mojikumi Settings) and kinsoku sets (Type > Kinsoku Shori Settings) in the active document. Apply them to text with set_character_attributes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | What to work with |
| action | string | yes | What to do |
| name | string | no | The set or composite font name (not needed for list) |
| entries | array | no | Composite font entries to set: name (Kanji, Kana, Full-width Punctuation, Full-width Symbols, Half-width Roman, Half-width Numerals, or a custom set), fontName ("Family Style" or family), relativeSiz |
| basedOn | string | no | Mojikumi: the MojikumiTableDefaults set a new set starts from, e.g. LINE_END_ALL_ONE_HALF_EM_ENUM |
| akiOverrides | array | no | Mojikumi detailed settings: aki between character classes (yakumono classes), each { targetClass, sideClass, sideIsAfterTarget, minimum, desired, maximum, compressionPriority, akiDoesNotFloat }; repla |
| cantBeginLineChars | string | no | Kinsoku: characters that cannot begin a line |
| cantEndLineChars | string | no | Kinsoku: characters that cannot end a line |
| hangingPunctuationChars | string | no | Kinsoku: hanging punctuation characters |
| cantBeSeparatedChars | string | no | Kinsoku: characters that cannot be separated |
Set tab stops on the paragraphs of the chosen text (Type > Tabs): add or replace stops with alignment (left, centre, right, align on a character), leader and align-on character; delete stops; clear all; repeat a stop across the column (Repeat Tab); or list them. Positions are mm from the left edge…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| action | string | yes | add stops, replace all stops, delete stops at positions, clear all stops, repeat a stop, or list stops |
| tabs | array | no | For add and replace: stops as { position (mm), alignment (LEFT_ALIGN, CENTER_ALIGN, RIGHT_ALIGN, CHARACTER_ALIGN), leader (up to 8 characters, e.g. "."), alignOn (the character a CHARACTER_ALIGN stop |
| positions | array | no | For delete: positions (mm) of the stops to remove |
| repeatIndex | integer | no | For repeat: which stop to repeat (0-based; default the last) |
| until | number | no | For repeat: add stops up to this position in mm (default: the column width less the right indent) |
Add, replace, clear or list GREP styles: character styles applied automatically to text matching a GREP expression (Paragraph panel menu > GREP Styles), on the paragraphs of the chosen text or on a paragraph style
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | no | — | |
| paragraphStyle | string | no | A paragraph style name to change instead of (or as well as) paragraphs |
| action | string | yes | add to the existing GREP styles, replace them, clear them, or list them |
| styles | array | no | For add and replace: { expression (GREP), characterStyle (name) } in order |
Apply and format bullets and numbering on the paragraphs of the chosen text (Type > Bulleted & Numbered Lists; Bullets and Numbering dialog): list type, list and level, bullet character and font, number expression and format, text after, character style, start/continue, restart after levels,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| action | string | no | set the options below; restart numbering at the first chosen paragraph (at startAt, default 1); continue numbering from the previous list; or convert the bullets and numbers to ordinary text |
| listType | string | no | Bulleted list, numbered list, or no list |
| list | string | no | Name of a list (Define Lists) the paragraphs belong to, so numbering runs across frames or stories |
| level | integer | no | Level for multi-level lists |
| bullet | object | no | Bullet character: { unicode ("2022") or glyphId, fontName ("Family Style" or family; needed with glyphId) } |
| textAfter | string | no | Text after the bullet (metacharacters such as ^t for a tab) |
| characterStyle | string | no | Character style for the bullet or number |
| numberExpression | string | no | Number pattern with placeholders: ^# this level, ^1-^9 the number at that level, ^H chapter number, ^t tab; e.g. "^1.^#.^t" |
| numberFormat | string | no | Numbering format |
| mode | string | no | Continue from the previous number, or start at startAt |
| startAt | integer | no | Starting number (with mode start_at or action restart) |
| restartAfter | object | no | Restart numbers at this level: { enabled (false turns it off), policy (ANY_PREVIOUS_LEVEL, AFTER_SPECIFIC_LEVEL, RANGE_OF_LEVELS), lowerLevel, upperLevel } |
| numberAlignment | string | no | Bullet or number position: its alignment in its space |
| leftIndent | number | no | Left indent in mm |
| firstLineIndent | number | no | First line indent in mm (negative for a hanging bullet) |
| tabPosition | number | no | Tab position in mm after the bullet or number |
List, create, update or delete numbering lists (Type > Bulleted & Numbered Lists > Define Lists): named lists whose numbers can continue across stories, or across documents in a book, for running lists of figures and tables
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| name | string | no | The list name (not needed for list) |
| newName | string | no | For update: a new name |
| continueAcrossStories | boolean | no | Continue numbers across stories |
| continueAcrossDocuments | boolean | no | Continue numbers from the previous document in the book |
| replaceWith | string | no | For delete: the list that paragraphs using the deleted list move to |
Create a swatch (Swatches panel menu > New Color Swatch, New Tint Swatch, New Mixed Ink Swatch, New Mixed Ink Group): a process or spot colour from RGB, CMYK or Lab values, a tint of a colour, a mixed ink from ink percentages, or a mixed ink group stepping ink percentages; optionally named with…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | What to create: a colour, a tint, a mixed ink or a mixed ink group |
| name | string | no | Swatch name (colours, unless nameWithColorValue; required for mixed inks and groups; tints are named after their base colour) |
| nameWithColorValue | boolean | no | Name the colour from its values, e.g. "C=0 M=100 Y=0 K=0" (Swatch Options > Name with Color Value) |
| model | string | no | Color Type of a colour: process (printed from CMYK) or spot (its own ink plate). Default process |
| space | string | no | Color Mode of a colour: rgb, cmyk or lab |
| values | no | — | |
| baseColor | string | no | Tint: the colour swatch the tint is made from |
| tint | number | no | Tint: percentage of the base colour |
| inks | array | no | Mixed ink or mixed ink group: the inks (at least one spot ink); names as set_inks lists them, e.g. "Process Cyan" or a spot colour name |
| group | string | no | Put the new swatch in this colour group (created if it does not exist) |
Change a swatch's options (Swatch Options, from the Swatches panel menu or a swatch's context menu): rename it or name it with its colour values, switch a colour between process and spot, convert it to RGB, CMYK or Lab (Color panel menu), set its values, change a tint's percentage, change a mixed…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| swatch | string | yes | The swatch to change, by name |
| name | string | no | New name |
| nameWithColorValue | boolean | no | Rename the colour from its (final) values, e.g. "R=255 G=0 B=0" (Name with Color Value) |
| model | string | no | Color Type: process or spot (colours); process converts a mixed ink or mixed ink group to process colours |
| space | string | no | Color Mode: convert the colour to rgb, cmyk or lab; with values, the space the values are in |
| values | no | …. Needs space | |
| tint | number | no | Tint swatches: percentage of the base colour |
| inks | array | no | Mixed ink swatches: new percentages for some of its inks |
Swatches panel menu commands: duplicate, delete (replacing with another swatch), merge swatches into the first, list or delete unused swatches (Select All Unused), add unnamed colours to the swatches, add the colours of items to the swatches (Color panel > Add to Swatches), make or add to a colour…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| operation | string | yes | What to do |
| swatches | array | no | Swatch names: duplicate, delete, group, or merge (the first keeps its name and the others merge into it) |
| newName | string | no | duplicate: name for the copy (one swatch only) |
| replaceWith | string | no | delete, delete_unused: swatch that replaces the deleted ones where used (default: InDesign leaves the colour applied unnamed) |
| group | string | no | group, ungroup: the colour group name |
| target | no | add_to_swatches: … | |
| on | string | no | add_to_swatches: which colour of each item (default both) |
Load swatches into the active document (Swatches panel menu > Load Swatches) from an InDesign document or template or an Adobe Swatch Exchange (.ase) file, and/or import named colours from Adobe colour books such as PANTONE as spot or process colours
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file | string | no | Path of an .indd, .indt or .ase file to load swatches from |
| spotColors | array | no | Colour-book colour names to import as spot colours, e.g. "PANTONE 185 C" |
| processColors | array | no | Colour-book colour names to import as process colours |
Save swatches to an Adobe Swatch Exchange (.ase) file for other documents and applications (Swatches panel menu > Save Swatches); by default every named colour and tint
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file | string | yes | Path of the .ase file to write (replaced if it exists) |
| swatches | array | no | Swatch names to save (default: every named colour and tint except [None], [Paper] and [Registration]) |
Ink Manager (Swatches panel menu > Ink Manager): set each ink's type, neutral density, trapping sequence, alias and conversion to process, convert all spot inks to process, and use standard Lab values for spots; returns every ink with its settings and solidity. With no options, lists the inks
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inks | array | no | Settings per ink |
| allSpotsToProcess | boolean | no | All Spots to Process: true converts every spot ink to process, false keeps every spot ink as a spot (applied before per-ink settings) |
| useStandardLabForSpots | boolean | no | Use Standard Lab Values for Spots, for more accurate display and output of spot colours |
Create or edit a gradient swatch (Swatches panel menu > New Gradient Swatch, Gradient panel): its type (linear or radial) and its colour stops with their locations and midpoints. Creates the gradient when no swatch has the name
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Gradient swatch name |
| newName | string | no | Rename the gradient |
| type | string | no | Gradient type |
| stops | array | no | Colour stops in order, replacing the existing ones (needed when creating) |
Apply fills and strokes to items, to the text in text frames, or to placed grayscale and bitmap images (colourise): a colour, a gradient or None (Apply Color, Apply Gradient, Apply None), tint, overprint, and the gradient's angle, length and start as set with the Gradient panel or Gradient Swatch…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| applyTo | string | no | item: the frame or shape (Formatting affects container); text: the text of text frames, or selected text (Formatting affects text); content: the placed graphic inside the frame, colourising a grayscal |
| swap | boolean | no | Swap Fill and Stroke: exchange the fill and stroke colours and tints (before fill and stroke options) |
| defaults | boolean | no | Default Fill and Stroke: fill None and stroke Black (text: fill Black and stroke None), before fill and stroke options |
| fill | no | — | |
| stroke | no | — |
Copy fill and stroke attributes from one item to others, as the Eyedropper tool does: colour, tint, overprint and gradient angle and length of the fill, and colour, tint, weight, type, alignment, overprint and gradient of the stroke; between items or between the texts of text frames
| Parameter | Type | Required | Notes |
|---|---|---|---|
| source | integer | yes | Page item id to copy from |
| target | yes | — | |
| copy | string | no | Which attributes to copy (default both) |
| applyTo | string | no | item: the frames themselves; text: from the source frame's text to the target frames' text. Default item |
Set the colour controls of the interface: which of fill or stroke is active and whether formatting affects the container or the text (Tools panel fill/stroke proxy), the Swatches panel view (Name, Small Name, Small Swatch, Large Swatch) and Show/Hide Options, and the Color panel's Lab, CMYK or RGB…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| active | string | no | Which of fill or stroke colour changes apply to (Toggle Fill and Stroke) |
| affects | string | no | Formatting Affects Container or Formatting Affects Text |
| swatchesView | string | no | Swatches panel menu view |
| colorPanelMode | string | no | Color panel menu: show Lab, CMYK or RGB sliders |
| toggleSwatchesOptions | boolean | no | Swatches panel menu > Show/Hide Options (toggles; the result gives the command's new title) |
| toggleColorOptions | boolean | no | Color panel menu > Show/Hide Options (toggles; the result gives the command's new title) |
Read colour management (Edit > Color Settings, Appearance of Black): the application's settings, working spaces, policies and conversion options; with a document open, its assigned profiles, policies and rendering intents (Edit > Assign Profiles) and the proofing of its window (View > Proof Setup,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeLists | boolean | no | Also list the colour settings presets, working-space and document profiles, and engines that can be chosen |
Change the application's colour management (Edit > Color Settings): load a preset or a .csf settings file, turn colour management on or off, set the RGB and CMYK working spaces and policies, the profile mismatch and missing profile prompts, the engine, intent and black point compensation, accurate…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preset | string | no | Settings: a colour settings preset name from get_color_settings (lists.presets), applied before the other options |
| presetFile | string | no | Load: path of a colour settings (.csf) file, applied before the other options |
Assign the active document's RGB and CMYK profiles without converting colour values, set its colour policies, and set its rendering intents for solid colours, images and after blending (Edit > Assign Profiles)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| rgbProfile | string | no | RGB profile name from get_color_settings (document.rgbProfiles, with includeLists), or "working" for the current RGB working space |
| cmykProfile | string | no | CMYK profile name from get_color_settings (document.cmykProfiles, with includeLists), or "working" for the current CMYK working space |
| rgbPolicy | string | no | The document's RGB colour policy |
| cmykPolicy | string | no | The document's CMYK colour policy |
| solidColorIntent | string | no | Solid Color Intent (vector art and native objects) |
| defaultImageIntent | string | no | Default Image Intent (bitmap images) |
| afterBlendingIntent | string | no | After-Blending Intent (colours from transparency) |
Soft-proof the active document's window: choose the output condition to simulate and turn Proof Colors on or off (View > Proof Setup, View > Proof Colors), with paper white, ink black and preserve numbers for a custom profile, and turn Overprint Preview on or off
| Parameter | Type | Required | Notes |
|---|---|---|---|
| proofing | string | no | off turns Proof Colors off; document_cmyk, working_cmyk or custom proof against that profile |
| profile | string | no | Custom proof: the device profile to simulate (sets proofing to custom) |
| simulatePaperWhite | boolean | no | Custom proof: Simulate Paper Color |
| simulateInkBlack | boolean | no | Custom proof: Simulate Black Ink |
| preserveColorNumbers | boolean | no | Custom proof: Preserve CMYK Numbers |
| overprintPreview | boolean | no | View > Overprint Preview |
Override the colour profile and rendering intent of placed images (Object > Image Color Settings)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | Frames holding images, or the images themselves. … | |
| profile | string | no | A profile name from the image's profile list (an unknown name is refused with the list), or "USE_DOCUMENT" for Use Document Default |
| renderingIntent | string | no | Rendering intent; USE_COLOR_SETTINGS is Use Document Image Intent |
Export the document as Adobe PDF (Print) with any option of the Export Adobe PDF dialog: General, Compression, Marks and Bleeds, Output (with Ink Manager), Advanced and Security, optionally starting from a preset and exporting in the background (File > Export > Adobe PDF (Print))
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | yes | — | |
| preset | string | no | Start from this PDF export preset, e.g. "[High Quality Print]" or "[PDF/X-4:2008]"; the options below override it (default: the current settings) |
| pages | no | — | |
| inkManager | no | — | |
| background | boolean | no | Export in the background (Background Tasks panel) and return the task; follow it with background_exports |
| keepSettings | no | — |
List, read, create or update, delete, import and export Adobe PDF presets (File > Adobe PDF Presets > Define). save takes the same option groups as export_pdf_with_options, without security
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | list names; get one preset's settings; save (create or update) a preset; delete one; import presets from a .joboptions file; export the presets to a file |
| name | string | no | Preset name (get, save, delete). Built-in presets in [brackets] cannot be changed or deleted |
| basedOn | string | no | save: copy the settings of this preset first (default: a new preset starts from the current settings) |
| filePath | string | no | import / export: the preset file |
List background export tasks with their status and progress, wait for them to finish, or cancel them (Window > Utilities > Background Tasks)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | no | list tasks; wait until tasks finish; cancel tasks |
| taskId | integer | no | Only this task (the id export_pdf_with_options returned); default all tasks |
Export the document as an interactive PDF with buttons, forms, media, hyperlinks and page transitions, setting any option of the Export to Interactive PDF dialog (File > Export > Adobe PDF (Interactive))
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | yes | — | |
| pages | no | — | |
| options | no | — | |
| keepSettings | no | — |
Export the document as a reflowable or fixed-layout EPUB with any option of the EPUB export dialogs: General, Text, Object and image conversion, CSS and JavaScript, Metadata, accessibility metadata, and fixed-layout range, cover, navigation and spreads (File > Export > EPUB (Reflowable / Fixed…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | yes | — | |
| layout | string | no | Reflowable or fixed-layout EPUB |
| general | no | — | |
| images | no | — | |
| css | no | — | |
| fixedLayout | no | — | |
| metadata | no | — | |
| accessibility | no | — | |
| keepSettings | no | — |
List, add or remove the e-reader applications that open an EPUB after export (EPUB export dialog > View EPUB after Exporting > Viewing Apps). Applications must be inside the allowed directories
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | list the apps; add one; remove one by its index |
| appPath | string | no | add: the application (.app on macOS, .exe on Windows) |
| reflowable | boolean | no | add: use it for reflowable EPUB |
| fixedLayout | boolean | no | add: use it for fixed-layout EPUB |
| appIndex | integer | no | remove: 0-based index from list |
Export the document or selection as HTML with any option of the HTML Export dialog (content order, lists, images, CSS, JavaScript), or as HTML5 fixed layout (File > Export > HTML / HTML5)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | yes | — | |
| format | string | no | HTML (reflowing content) or HTML5 fixed layout (pages as laid out) |
| options | no | — | |
| fixedLayout | no | — | |
| keepSettings | no | — |
Place a Word, RTF, Excel, text or InDesign Tagged Text file (or any placeable file) with the options of its import dialog, on a page or into a frame; optionally apply a table style to imported tables and generate alt text for placed images (File > Place > Show Import Options)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | The file to place (inside the allowed directories) |
| pageIndex | integer | no | Page to place on (0-based), unless frameId is given |
| x | number | no | Left of the placed content, mm from the page's left edge |
| y | number | no | Top of the placed content, mm from the page's top edge |
| frameId | integer | no | Place into this existing frame instead of onto the page |
| autoflow | boolean | no | Autoflow text, adding pages as needed |
| word | no | — | |
| excel | no | — | |
| text | no | — | |
| taggedText | no | — | |
| tableStyle | string | no | Apply this table style to the tables the file brings in (Excel Import Options > Table Style) |
| generateAltText | boolean | no | Generate alt text for placed images with Adobe's generative AI (InDesign 2026 (21.5) or later; needs sign-in and network) |
| markGeneratedAltText | boolean | no | Tag generated alt text as generated by AI (with generateAltText) |
| keepSettings | boolean | no | Leave the import options in place for later placing (default: put the previous options back) |
Export a story or the selected text as Rich Text (.rtf), Text Only (.txt) with a chosen platform and encoding, InDesign Tagged Text, or an InCopy document (.icml) (File > Export with text selected)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | yes | — | |
| format | string | yes | Rich Text Format, Text Only, InDesign Tagged Text, or InCopy Document |
| frameId | integer | no | A text frame of the story to export |
| selectedText | boolean | no | Export the selected text instead of a whole story (not for incopy) |
| text | no | — | |
| taggedText | no | — | |
| keepSettings | no | — |
Set or read Object Export Options on items: alt text and its source, PDF tagging and actual text, and EPUB/HTML conversion (custom rasterization, size, resolution, format, alignment and spacing, page breaks, layout, epub:type, ARIA role and label) (Object > Object Export Options). With no option…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| altText | no | — | |
| no | — | ||
| epub | no | — |
Work with the Articles panel: list articles and their members, create an article, add items or all document content, include or exclude it when exporting, rename, reorder, remove members, delete, and use articles for the reading order of tagged PDF (Window > Articles)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| article | string | no | Article name (all actions but list and set_reading_order) |
| items | no | create / add_items / remove_items: the page items (ids, names or selection: true) | |
| includeWhenExporting | boolean | no | create / set_export_status: Include When Exporting (default true on create) |
| newName | string | no | rename: the new name |
| position | string | no | move: where the article goes in the panel |
| reference | string | no | move with before / after: the other article |
| readingOrder | string | no | set_reading_order: Use for Reading Order in Tagged PDF (articles) or the XML structure |
Export pages or spreads as JPEG, PNG or EPS with every option of the export dialog: quality, format method, resolution, colour space, profile, anti-aliasing, bleed, overprint, transparent background, PostScript level, preview, fonts, OPI and flattener (File > Export > JPEG / PNG / EPS)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | yes | — | |
| format | string | yes | Image format |
| pages | no | — | |
| spreads | boolean | no | Export spreads instead of pages |
| jpeg | no | — | |
| png | no | — | |
| eps | no | — | |
| keepSettings | no | — |
Open or create an object library (.indl), load or save a preflight profile (.idpp), load or save swatches (.ase), or export items as a snippet (.idms) (Library panel, Preflight panel, Swatches panel, File > Export > InDesign Snippet)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| filePath | string | yes | The file to read or write (inside the allowed directories) |
| profileName | string | no | save_preflight_profile: the profile to save |
| swatches | array | no | save_swatches: swatch names (default: every swatch except the built-in [bracketed] ones) |
| target | no | export_snippet: the items to export (ids, names or selection: true) |
Draw a rectangle, ellipse or polygon frame, or a straight line, on a page (Rectangle Frame, Ellipse Frame, Polygon Frame and Line tools). Frames are graphic placeholders by default; content "unassigned" draws a plain shape and "text" a text frame. Returns the new item's id
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | yes | — | |
| shape | string | yes | What to draw |
| x | number | no | Left edge in mm from the page's left (not for lines) |
| y | number | no | Top edge in mm from the page's top (not for lines) |
| width | number | no | Width in mm (not for lines) |
| height | number | no | Height in mm (not for lines) |
| content | no | — | |
| sides | integer | no | Polygon: number of sides (default: the Polygon Settings value) |
| starInset | number | no | Polygon: star inset (%); 0 draws a regular polygon (default: the Polygon Settings value) |
| from | array | no | Line: start point [x, y] in mm from the page's top-left |
| to | array | no | Line: end point [x, y] in mm from the page's top-left |
| name | string | no | Name for the new item (Layers panel) |
Change frames' content type to graphic, text or unassigned (Object > Content). For the Attributes panel (Nonprinting, overprint) use set_print_attributes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| contentType | yes | — |
Change stacking order within each item's layer: Bring to Front, Bring Forward, Send Backward or Send to Back (Object > Arrange)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| order | string | yes | Where to move the items |
Unlock every locked object and/or show every hidden object on a spread (Object > Unlock All on Spread, Show All on Spread)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | no | Spread index (0-based); default: the spread in the active window |
| unlock | boolean | no | Unlock All on Spread |
| show | boolean | no | Show All on Spread |
Set the Polygon Settings used by the polygon tools (number of sides, star inset; double-click the Polygon tool) and Prevent Selection of Locked Objects (Preferences > General). Returns the current values; give nothing to read them
| Parameter | Type | Required | Notes |
|---|---|---|---|
| polygonSides | integer | no | Polygon Settings: Number of Sides |
| starInset | number | no | Polygon Settings: Star Inset (%) |
| preventSelectingLocked | boolean | no | Prevent Selection of Locked Objects |
Set Stroke panel options on items: weight, type (stroke style), colour and tint, cap, join and miter limit, stroke alignment, start and end arrowheads with their scale and alignment, gap colour and tint, dash corner adjustment and custom dash/gap lengths (Window > Stroke). Weights and lengths are…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| weight | number | no | Stroke weight (points); 0 removes the stroke |
| type | string | no | Stroke type: a stroke style name such as "Solid", "Dashed", "Dotted", "Thick - Thin" or a custom style |
| color | no | Stroke colour: … | |
| tint | number | no | Stroke tint (%) |
| cap | no | — | |
| join | no | — | |
| miterLimit | number | no | Miter limit (times the stroke weight) |
| align | no | — | |
| start | no | — | |
| end | no | — | |
| startScale | number | no | Scale of the start arrowhead (%) |
| endScale | number | no | Scale of the end arrowhead (%) |
| arrowAlignment | no | — | |
| gapColor | no | Gap Color of dashed, dotted and striped strokes: … | |
| gapTint | number | no | Gap Tint (%) |
| cornerAdjustment | no | — | |
| dashAndGap | array | no | Dashed stroke: dash, gap, dash, gap... lengths in points (2, 4 or 6 values) |
List, create, delete, save (export) and load (import) custom stroke styles: dashed, dotted and striped patterns (Stroke panel menu > Stroke Styles)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | list every stroke style; create, delete, export (Save) or import (Load) custom styles |
| name | string | no | create, delete: the style name |
| kind | string | no | create: the kind of style |
| pattern | array | no | create: dashed, dash and gap lengths in points, in pairs; dotted, dot centre distances in points; striped, pairs of [top, bottom] stripe edges as % of the stroke weight |
| cornerAdjustment | no | — | |
| cap | no | — | |
| replaceWith | string | no | delete: the stroke style applied where the deleted one was used (default "Solid") |
| names | array | no | export: the styles to save (default: every custom style) |
| path | string | no | export, import: a stroke styles file (.inst) |
Read items' Stroke panel options, Attributes panel options (nonprinting, overprint) and content type, Frame Fitting Options, and Anchored Object Options. Stroke weights and dash lengths are points; crops and offsets mm
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| include | array | no | What to read (default: all of …) |
Set Frame Fitting Options (Object > Fitting > Frame Fitting Options: fitting on empty frame, reference point, Auto-Fit and crop amounts), clear them (Clear Frame Fitting Options), and fit the content now, including Content-Aware Fit
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| fitting | no | — | |
| referencePoint | no | — | |
| autoFit | boolean | no | Auto-Fit: refit the content whenever the frame is resized |
| crop | object | no | Crop Amount (mm; negative adds space around the content) |
| clear | boolean | no | Clear Frame Fitting Options first |
| fitNow | no | — |
Anchor an object in text (Object > Anchored Object > Insert): either a new rectangle, ellipse, polygon, text frame or line created at a text position, or an existing item moved into the text. Set its Anchored Object Options in the same call
| Parameter | Type | Required | Notes |
|---|---|---|---|
| at | yes | — | |
| itemId | integer | no | Anchor this existing item (instead of creating one) |
| create | object | no | Create a new anchored object (instead of itemId); shape is required |
| options | no | — |
Set Anchored Object Options on anchored items (Object > Anchored Object > Options), rotate and scale them within their anchor settings, or release them so they no longer move with the text (Object > Anchored Object > Release)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| options | no | — | |
| transform | object | no | Transform the anchored objects |
| release | boolean | no | Release the anchored objects (after any options and transform) |
Set the defaults for new anchored objects in the document: content type, object style, paragraph style and initial size (the Insert Anchored Object defaults). Returns the current values; give nothing to read them
| Parameter | Type | Required | Notes |
|---|---|---|---|
| content | no | — | |
| objectStyle | string | no | Object style for new anchored objects |
| paragraphStyle | string | no | Paragraph style for new anchored text frames |
| width | number | no | Initial width (mm) |
| height | number | no | Initial height (mm) |
List the items of an open object library (id, name, type, description; optionally filtered), close a library (Library panel menu > Close Library), and set the Library panel's view (thumbnails, large thumbnails, list) and sort order (Sort Items). To open or create a library use transfer_resource_file
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| library | no | — | |
| filter | object | no | list: only items matching all given criteria (case-insensitive) |
| view | no | — | |
| sort | no | — |
Work with items in an object library: Add Item (store page items as one item), Add Items on Page (as one item or each separately), Place Item(s) into the document, Update Library Item with page items, Item Information (name, type, description), and Delete Item(s) (Library panel menu)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| library | no | — | |
| target | no | add, update: the page items to store. … | |
| items | no | place, update, info, delete: … | |
| pageIndex | no | add_page: the page whose items are stored (0-based) | |
| separately | boolean | no | add_page: store each item on the page as its own library item |
| name | string | no | add, add_page, info: Item Name |
| description | string | no | add, add_page, info: Description |
| type | no | — |
Generate a QR code for a URL, plain text, email, text message or business card (vCard), in a new frame or in an existing frame; giving the frame of an existing QR code edits it (Object > Generate QR Code, Edit QR Code)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| type | string | yes | What the code encodes |
| data | object | yes | The content. url: url. text: text. email: address, subject, body. sms: number, message. vcard: firstName, lastName, jobTitle, cellPhone, phone, email, organisation, streetAddress, city, state, country |
| color | no | Colour of the code (default Black): … | |
| frameId | integer | no | Put the code in this frame, replacing an existing code (Edit QR Code) |
| pageIndex | no | New frame: page index (0-based) | |
| x | number | no | New frame: left edge in mm from the page's left |
| y | number | no | New frame: top edge in mm from the page's top |
| size | number | no | New frame: width and height in mm (default 30) |
Math expressions (InDesign 2025 and later): add a MathML expression to a page, list the document's expressions, edit an expression's MathML, size or colour (Edit MathML), and set the document defaults for size, colour and whether EPUB export writes MathML or SVG (Export Math Objects, 2026). Takes…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| mathml | string | no | add, edit: the expression as a MathML <math> element |
| id | integer | no | edit: the math object id (from list) |
| pageIndex | no | add: page index (0-based) | |
| x | number | no | add: left edge in mm from the page's left (default 0) |
| y | number | no | add: top edge in mm from the page's top (default 0) |
| fontSize | number | no | add, edit, settings: font size (points) |
| color | no | add, edit, settings: colour of the expression: … | |
| exportAsMathML | boolean | no | settings: EPUB export writes math objects as MathML (true) or SVG (false); InDesign 2026 |
List the document's links as the Links panel shows them: name, status, full and platform-style path, URL links, size, date, the item that holds each link, image resolution, InCopy lock state, and optionally the linked file's XMP metadata (Links panel; Link Info; Utilities > XMP File Info; Copy…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| links | no | …. Default: every link | |
| includeXmp | boolean | no | Include each linked file's XMP metadata (title, author, description, keywords, copyright, dates) |
| xmpProperties | array | no | Further XMP properties to read, as { namespace, path } (for example namespace "http://ns.adobe.com/photoshop/1.0/", path "City") |
| limit | integer | no | Most links to return |
Point links at other files: relink one link to a file or a web URL, relink links to files of the same name in a folder (optionally searching subfolders or with another extension), relink to the same names with another extension, or copy the linked files to a folder and relink to the copies (Links…
No parameter schema on file.
Act on links: update modified links or all of them, embed or unembed, open the original in its editor, reveal the file in Finder/Explorer or Bridge, select the linked item on its page, go to the source of a shared-content link, and check InCopy content out, in, or cancel the check-out (Links panel…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do; update_all needs no links and updates every out-of-date link. cancel_check_out discards changes made since the check-out |
| links | no | …. Not used by update_all | |
| folder | string | no | unembed: write the files into this folder and link to them (default: link back to the original files) |
| comment | string | no | check_in: version comment |
Run a Links panel menu command: Search for Missing Links, copy link information as text (Utilities > Copy All Link Information, Copy Info for Selected Links), or change the panel display (Show Link Information Pane, Auto-Size Link Information, Hide Thumbnail). Optionally select items first so the…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | The command to run |
| target | no | Optional items to select first. … |
Place an image, PDF or Illustrator page, InDesign page, EPS or SVG with its import options set without the dialog, on a page or into an existing frame (replacing its content), then optionally fit it and add a static caption (File > Place > Show Import Options: Image Import Options, Place PDF,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | The file to place (inside the allowed directories) |
| pageIndex | integer | no | Page to place on (0-based), unless frameId or intoSelection is given |
| x | number | no | Left of the placed graphic, mm from the page's left edge |
| y | number | no | Top of the placed graphic, mm from the page's top edge |
| frameId | integer | no | Place into this frame, replacing its content (Replace Selected Item) |
| intoSelection | boolean | no | Place into the selected frame, replacing its content (Replace Selected Item) |
| no | — | ||
| indesignPage | no | — | |
| eps | no | — | |
| image | object | no | Image Import Options, also used for EPS clipping paths (applyClippingPath) |
| fit | string | no | Fit the placed graphic in its frame afterwards (Object > Fitting) |
| staticCaption | boolean | no | Add a static caption from the image's metadata after placing (Create Static Captions) |
Read the import and display options of placed graphics: type (image, PDF, InDesign page, EPS, SVG), link, resolution, colour profile and the profiles available, rendering intent, clipping path and alpha channels, layers and their visibility, the PDF or InDesign page and crop placed, and display…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | Frames or graphics to read. … |
Change the import options of placed graphics without the dialog: Photoshop clipping path, alpha channel, which layers are visible and what happens to them when the link updates, and the item's display quality (Object > Image Import Options, Object > Object Layer Options, Object > Display…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | Frames holding the graphics, or the graphics. … | |
| displayQuality | string | no | Display Performance for these items: DEFAULT_VALUE (use the view setting), HIGH_QUALITY, TYPICAL or OPTIMIZED (fast) |
Crop a placed graphic by moving its frame's edges while the graphic stays put, move the graphic inside its frame, or scale it within the frame, as with the Direct Selection tool or content grabber
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | Frames holding graphics. … | |
| crop | object | no | Move each frame edge inward by this many mm (negative moves it outward, uncovering more of the graphic) |
| moveContent | object | no | Move the graphic inside the frame by an offset |
| scaleContent | object | no | Scale the graphic inside the frame |
Place many images as a contact sheet: an evenly spaced grid of frames, one file in each, fitted, flowing onto further pages as needed, optionally captioned (the place cursor's grid placing)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| files | array | no | The files to place, in order |
| folder | string | no | Place every image in this folder instead (sorted by name) |
| extensions | array | no | With folder: the extensions to take (default: …) |
| pageIndex | integer | no | First page to fill (0-based) |
| columns | integer | no | Columns in the grid |
| rows | integer | no | Rows in the grid |
| gutter | number | no | Space between cells (mm) |
| area | object | no | The area to fill on each page, mm from the page's top-left, with all four of x, y, width and height (default: inside the margins) |
| fit | string | no | How each image fits its cell |
| addPages | boolean | no | Add pages at the end when the files outrun the pages (otherwise stop and report the rest) |
| caption | string | no | Caption each image from its metadata (Caption Setup settings) |
Load files into the place cursor (loaded graphics) so they can be placed by clicking in InDesign, see what it holds, rotate through its contents, or empty it (File > Place with several files; the place cursor)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | load files, report its status, rotate to the next or previous file, or clear it |
| files | array | no | load: the files to load |
| direction | string | no | rotate: which way |
Make a button from items (Object > Interactive > Convert to Button) or an empty button at a rectangle, with a name, PDF description and Rollover/Click appearances (Buttons and Forms panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | no | Items to convert: they become the Normal appearance (give this or bounds) | |
| bounds | no | — | |
| name | string | no | Button name |
| description | no | — | |
| appearances | array | no | Appearances to add besides Normal; each starts as a copy of the Normal appearance |
Set button appearances (Normal, Rollover, Click: turn on or off, add items, show one), the PDF description, printing and Hidden Until Triggered (Buttons and Forms panel, PDF Options)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The buttons | |
| appearances | object | no | Appearance changes by state |
| show | string | no | Appearance to show in the layout (the active state) |
Make a PDF form field: text field, check box, radio button, combo box, list box or signature field, at a rectangle or over items, with its options (Buttons and Forms panel > Type)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | Field type |
| target | no | Items whose bounds the field takes; for check boxes and radio buttons they become the appearance (give this or bounds) | |
| bounds | no | — | |
| name | string | no | Field name in the PDF |
Set form field options: description, printable, required, read only, hidden until triggered, password, multiline, scrollable, font and size, selected by default, export value, list items, sort and multiple selection (Buttons and Forms panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The form fields |
Add an action to buttons or form fields for an event: go to a destination, page, view, URL or state, show/hide fields, play video, sound or animation, open a file, zoom, clear, print or submit the form (Buttons and Forms panel > Actions)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The buttons or form fields | |
| action | string | yes | The action |
| event | string | no | Event: On Release or Tap (MOUSE_UP), On Click (MOUSE_DOWN), On Roll Over (MOUSE_ENTER), On Roll Off (MOUSE_EXIT), On Focus, On Blur |
| zoom | string | no | Zoom for go_to_* page, view and destination actions |
| pageIndex | integer | no | go_to_page: the page index (0-based) |
| destination | object | no | go_to_destination: a text anchor, page destination or bookmark by name, or a page (a page destination is made if none exists); with document, in another open InDesign document (a cross-document jump) |
| url | string | no | go_to_url: the URL; submit_form: where to submit (a URL or mailto:) |
| multiStateObject | integer | no | go_to_state, go_to_next_state, go_to_previous_state: the multi-state object id |
| stateName | string | no | go_to_state: the state to show |
| goBackOnRollOff | boolean | no | go_to_state: go back to the previous state on roll off |
| loop | boolean | no | go_to_next_state, go_to_previous_state: stop on last/first state when false |
| show | array | no | show_hide_fields: ids of buttons and fields to show |
| hide | array | no | show_hide_fields: ids of buttons and fields to hide |
| mediaItem | integer | no | video, sound: the movie or sound (or its frame) id; animation: the animated item id |
| mediaOperation | string | no | video, sound, animation: what to do (default PLAY); PLAY_FROM_NAVIGATION_POINT is video only, REVERSE_PLAYBACK animation only |
| navigationPoint | string | no | video with PLAY_FROM_NAVIGATION_POINT: the navigation point name |
| autoReverseOnRollOff | boolean | no | animation: reverse the animation on roll off |
| filePath | string | no | open_file: the file to open |
| viewZoom | string | no | view_zoom: the view |
Remove, turn on or off, or change the event of the actions on buttons or form fields (Buttons and Forms panel > Actions); list them with get_interactive_elements
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The buttons or form fields | |
| operation | string | yes | What to do to the actions |
| actionIndex | integer | no | The action index (as listed by get_interactive_elements); omit for every action |
| event | string | no | set_event: the new event |
Set the order in which Tab moves between the buttons and form fields of a page in the PDF (Object > Interactive > Set Tab Order)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Page index (0-based) |
| order | array | yes | Ids of the page's buttons and form fields, in tab order |
Turn buttons or form fields back into ordinary page items, keeping the active appearance (Object > Interactive > Convert to Object)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The buttons or form fields |
Show the Normal appearance of every button and the first state of every multi-state object (Buttons and Forms panel > Reset All Buttons to Normal State; Object States panel > Reset All Multi-state Objects to First State)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reset | string | no | What to reset |
Make a multi-state object from items, each item (or list of items) becoming one state (Object States panel > New State); returns its id and states
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | no | Items that each become one state (give this or states) | |
| states | array | no | The states in order, each from one or more items (give this or target) |
| name | string | no | Name of the multi-state object |
| hiddenUntilTriggered | boolean | no | Hidden Until Triggered: hidden in the exported file until an action shows it |
Change a multi-state object: new state, delete, rename, reorder or show a state, add or paste items into a state, release one or all states to objects, Hidden Until Triggered (Object States panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| multiStateObject | integer | yes | The multi-state object id |
| operation | string | yes | new_state (from ids, or empty), delete_state, rename_state, move_state, show_state (make it the visible state), add_to_state (move items in: Add Objects to Visible State), paste_into_state (copies of |
| state | string | no | The state, by name; for add_to_state and paste_into_state the visible state if omitted |
| ids | array | no | new_state, add_to_state, paste_into_state: item ids |
| name | string | no | new_state, rename_state: the state name |
| position | integer | no | move_state: the new position (0-based) |
| hidden | boolean | no | set_hidden: hide until triggered |
Animate items: motion preset, events (page load, page click, self click, self roll over), duration, plays and loop, speed, animate from/to current appearance, rotate, origin, scale, opacity, visibility, and a motion path drawn as points or converted from a path (Animation panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The items to animate | |
| preset | string | no | Motion preset name, e.g. "fly-in-left" (see manage_motion_presets list) |
| events | array | no | Event(s) that play the animation: On Page Load, On Page Click, On Click (Self), On Roll Over (Self); replaces the current ones (On Button Event: use add_button_action with action animation) |
| reverseOnRollOff | boolean | no | With ON_SELF_ROLLOVER: reverse on roll off |
| duration | number | no | Duration in seconds |
| plays | integer | no | Play this many times |
| loop | boolean | no | Loop |
| speed | string | no | Speed: none (constant), ease in, ease out, ease in and out |
| animate | string | no | Animate: from current appearance, to current appearance, or to current location |
| rotate | number | no | Rotate by this many degrees over the animation |
| origin | string | no | Origin (the reference point) of rotation and scaling |
| scale | object | no | Scale to these percentages over the animation (one left out stays 100) |
| opacity | string | no | Opacity: none, fade in or fade out |
| hideUntilAnimated | boolean | no | Visibility: Hide Until Animated |
| hideAfterAnimating | boolean | no | Visibility: Hide After Animating |
| motionPath | array | no | Motion path through these [x, y] points (mm from the top-left of the item's page) |
| motionPathFrom | integer | no | Convert to Motion Path: the id of a path (line, polygon...) whose shape becomes the motion path |
| keepPath | boolean | no | With motionPathFrom: keep the path item (it is deleted by default, as the panel command does) |
| remove | boolean | no | Remove the animation (Animation panel > Remove); combine with nothing else |
List, import, export, duplicate, rename and delete motion presets, or save an item's animation as a preset (Animation panel > Save; Manage Presets)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| operation | string | yes | What to do |
| name | string | no | The preset name (save_from_item: the new preset's name) |
| newName | string | no | duplicate, rename: the new name |
| itemId | integer | no | save_from_item: the animated item |
| filePath | string | no | import: a motion preset file (.xml); export: where to save it |
| scope | string | no | Where the preset lives: InDesign's presets or the active document's |
Arrange when animations play: reassign items to On Page Load or On Page Click, remove them, play them together or separately, and set delay, plays and loop (Timing panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | Animated items (or media and multi-state objects) on one spread | |
| operation | string | yes | assign (Reassign to On Page Load / On Page Click), remove (Remove Item), play_together, play_separately, set (delay, plays, loop) |
| event | string | no | assign: the event; other operations: only this event's list (default: the list holding each item, else On Page Load) |
| delay | number | no | Delay in seconds after the previous item (assign, play_together, set) |
| plays | integer | no | set: play the item's group this many times |
| loop | boolean | no | set: loop the item's group |
Place a video or sound file, or a video from a URL, into a new frame or an existing frame, with its media options (File > Place; Media panel > Video from URL)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | no | Video (MP4, F4V, FLV...) or sound (MP3...) file to place (give this or url) |
| url | string | no | URL of a video to play from the web (give this or filePath) |
| frame | integer | no | Id of an existing frame to place into (give this or bounds) |
| bounds | no | — | |
| options | object | no | Media options, as set_media_options takes |
Set video and sound options: play on page load, loop, poster, controller, navigation points, floating window and PDF description, embedding, and relink legacy media to a new file (Media panel, PDF Options)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | Movies or sounds, or the frames holding them | |
| navigationPoints | object | no | Navigation points of a video (named times to play from) |
| relinkTo | string | no | Relink the media to this file, e.g. a legacy FLV or SWF to an MP4 (Links panel > Relink) |
Apply a page transition to chosen or all spreads, clear all transitions, and set how an interactive PDF shows them (Page Transitions panel: Apply to All Spreads, Clear All; Export to Interactive PDF: Open in Full Screen Mode, Page Transitions)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreads | array | no | Spread indexes (0-based); omit for all spreads |
| transition | string | no | Transition type; NONE removes it |
| direction | string | no | Direction, one the transition supports |
| speed | string | no | Speed |
| clearAll | boolean | no | Clear All: remove the transitions of every spread |
| object | no | Interactive PDF export settings that show transitions |
List the interactive elements of the document or a page: buttons with appearances and actions, form fields, multi-state objects and states, video and sound, animations, timing, page transitions and tab order (Buttons and Forms, Object States, Media, Animation and Timing panels)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | no | Only this page (0-based); omit for the whole document |
| include | array | no | What to list (default: all of …) |
Play the selection, spread or document in the EPUB Interactivity Preview panel, or open the panel (Window > Interactive > EPUB Interactivity Preview); the preview shows in InDesign only
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | yes | panel (open it), selection, spread or document |
| target | no | selection: items to select and preview (default: the current selection) |
List or place the ready-made buttons and form fields of InDesign's Sample Buttons and Forms library (Buttons and Forms panel > Sample Buttons and Forms)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | The sample to place, by name; omit to list the samples |
| pageIndex | integer | no | Page to place it on (0-based) |
| x | number | no | Left edge (mm from the page's left) |
| y | number | no | Top edge (mm from the page's top) |
Set how items adapt when their page is resized under the object-based liquid page rule: resize with the page (width, height) and pin to the page edges, plus Auto-Fit of frame content (Liquid Layout panel). The page rule itself is set with set_page_properties (layoutRule).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| resizeWidth | boolean | no | Resize with Page: Width (the width is flexible) |
| resizeHeight | boolean | no | Resize with Page: Height (the height is flexible) |
| pinTop | boolean | no | Pin: Top (the top margin stays fixed) |
| pinBottom | boolean | no | Pin: Bottom (the bottom margin stays fixed) |
| pinLeft | boolean | no | Pin: Left (the left margin stays fixed) |
| pinRight | boolean | no | Pin: Right (the right margin stays fixed) |
| autoFit | boolean | no | Auto-Fit: refit the frame content when the frame resizes (graphic frames) |
Create an alternate layout: copy the pages of a layout to a new page size and orientation in the same document, with a liquid page rule, linked stories and copied text styles (Layout > Create Alternate Layout)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Name of the new layout |
| from | string | no | From Source Pages: the layout to copy (default the first page's layout); see manage_alternate_layouts |
| width | number | yes | Page width of the new layout (mm) |
| height | number | yes | Page height of the new layout (mm) |
| orientation | string | no | Orientation; swaps width and height when they do not match it |
| liquidPageRule | string | no | Liquid Page Rule applied to the new pages |
| linkStories | boolean | no | Link Stories: the new stories are linked copies of the source stories |
| copyTextStyles | boolean | no | Copy Text Styles to New Style Group |
| smartTextReflow | boolean | no | Smart Text Reflow: add or remove pages as text reflows (the document's Type preference, which covers every layout) |
List the document's layouts (alternate layouts) with their page counts and page sizes, or delete an alternate layout and its pages (Pages panel > Alternate Layout menu > Delete Alternate Layout)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | list the layouts, or delete one |
| name | string | no | delete: the layout to delete |
Put items in a flex layout container that arranges them in rows or columns which resize and reflow together, for example a wrapping grid of profile cards for team pages; a group is converted (Flex Layout > Convert to Flex Layout / Add to Flex Layout). Needs InDesign 2026 (21.0) or later.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The items to arrange, in order; a group's items are taken out of the group (Convert to Flex Layout) | |
| container | integer | no | Add the items to this existing flex container (its id) instead of creating one |
| layout | no | — | |
| itemSizing | no | — | |
| ungroup | boolean | no | Take the items out of a chosen group and add them one by one (false adds the group as one item) |
Set a flex layout container's direction, wrapping, alignment, gaps, padding and sizing, and how its items size (Object > Flex Layout). Needs InDesign 2026 (21.0) or later.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The flex containers (ids from create_flex_layout or get_flex_layout) | |
| layout | no | — | |
| items | array | no | Sizing for individual items in the containers |
Read flex layout containers: their settings, their items and how each sizes, and the liquid layout settings that also act on them and can conflict with the flex layout (Object > Flex Layout). Needs InDesign 2026 (21.0) or later.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | no | The flex containers to read (default every container on the page, or in the document) | |
| pageIndex | integer | no | Read the containers on this page (0-based) |
List, create, edit or delete named grids (frame grid formats), or load all named grids from another InDesign document (Named Grids panel: New Named Grid, Named Grid Options, Delete Named Grids, Load All Named Grids)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| name | string | no | create, update, delete: the named grid |
| newName | string | no | update: rename the grid |
| grid | no | — | |
| filePath | string | no | load: the InDesign document (.indd) to load named grids from |
| replace | boolean | no | load: replace grids with the same name (otherwise they are skipped) |
Set frame grid options (font, size, scale, aki, alignment, view and character count), apply a named grid, or apply the grid format to the text so it matches the grid (Object > Frame Grid Options, Edit > Apply Grid Format)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The frame grids (text frames) | |
| namedGrid | string | no | Apply this named grid to the frames' stories |
| grid | no | — | |
| applyGridFormat | boolean | no | Apply Grid Format: set the stories' font, size and scaling to the grid's |
Set the document's layout grid (font, size, scale and aki of its character cells) and which grids show: layout grid, frame grids, character counts, and snapping to the layout grid (Layout > Layout Grid; View > Grids & Guides). Layout and frame grids are part of the Japanese (CJK) feature set.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| grid | no | — | |
| view | no | — |
Place copies of items or stories on a page, in this or another open document, as linked content that updates when the source changes (Edit > Place and Link; the Content Placer tool)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The source items (text frames place their stories) | |
| pageIndex | integer | yes | The page to place on (0-based) |
| toDocument | string | no | Name of another open document to place into (default the active document) |
| x | number | no | mm from the left of the page (default the source's position on its own page) |
| y | number | no | mm from the top of the page (default the source's position on its own page) |
| linkItems | boolean | no | Create Link for page items: the copies stay linked to their source |
| linkStories | boolean | no | Create Link for stories: the copied stories stay linked to their source |
| mapStyles | boolean | no | Map Styles: apply the custom style mappings (manage_style_mappings) to the copies |
| layer | string | no | Layer to place on (default the source's layer, if the target document has it) |
Set the link options of linked items and linked stories, or the document defaults: update when saving, warn before overwriting local edits, which local edits to preserve, removing forced line breaks and applying style mappings (Links panel > Link Options). Pass no options to read them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | no | The linked items; text frames set their story's options | |
| documentDefaults | boolean | no | Set the document's default link options instead of (or as well as) items' |
List, add or remove the document's custom style mappings, which map source styles to other styles when linked content is placed or updated with style mapping on (Link Options > Define Custom Style Mapping; Content Placer > Edit Custom Style Mapping)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | add (or change) a mapping, remove one, or list them |
| kind | string | no | add, remove: paragraph, character, table or cell styles |
| source | string | no | add, remove: the source style (or style group) name |
| destination | string | no | add: the style (or style group) it maps to |
| rule | string | no | add: map style to style, group to group, style to group, or group to style |
Collect items onto the Content Collector conveyor, ready to place with the Content Placer, optionally as linked copies with style mapping (Content Collector tool; Load Conveyor)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | The items to collect | |
| linkItems | boolean | no | Create Link: page items placed from the conveyor stay linked to the source |
| linkStories | boolean | no | Create Link for stories placed from the conveyor |
| mapStyles | boolean | no | Map Styles when placing from the conveyor |
Set the Content Collector and Content Placer options: show the conveyor, create links and map styles when placing (Content Placer options, View > Extras > Show Conveyor). Pass no options to read them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| showConveyor | boolean | no | Show the conveyor when the Content Collector or Placer tool is chosen |
| createLinks | boolean | no | Create Link: placed items stay linked to their source |
| mapStyles | boolean | no | Map Styles: apply custom style mappings to placed items |
Show or hide the rulers and set their units, for both rulers or each one, or step both to the next unit (View > Show/Hide Rulers; ruler context menu; Preferences > Units & Increments). Pass no options to read them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| show | boolean | no | Show (true) or hide (false) the rulers |
| units | string | no | Units for both rulers |
| horizontalUnits | string | no | Units for the horizontal ruler |
| verticalUnits | string | no | Units for the vertical ruler |
| cycle | boolean | no | Step both rulers to the next unit (points, picas, inches, inches decimal, millimetres, centimetres, ciceros, agates, pixels) |
List ruler guides, move them, lock or unlock them, make them liquid or ruler guides, or delete them, including every guide on a spread (select guides and drag, Lock Guide, View > Grids & Guides > Delete All Guides on Spread). Positions are mm from the top or left of the guide's page.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do with the guides |
| guideIds | array | no | The guides (ids from action list) |
| pageIndex | integer | no | All guides on this page (0-based) |
| spreadIndex | integer | no | All guides on this spread (0-based); delete with only spreadIndex is Delete All Guides on Spread |
| to | number | no | move: the new position, mm from the top (horizontal guide) or left (vertical guide) of its page |
| by | number | no | move: distance to move (mm; down or right is positive) |
| locked | boolean | no | set: lock or unlock the guides |
| type | string | no | set: liquid guides tell the guide-based liquid rule what may stretch; ruler guides are plain guides |
Measure the distance and angle between two points, items or an item and a point, as the Measure tool shows them in the Info panel; for two items also the gaps between their edges
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | yes | — | |
| to | yes | — |
Change the gap between items as the Gap tool does: resize the gap (the facing edges move apart or together and the items resize), move the gap (both facing edges move the same way), or move the items on one side so the gap is a set size
| Parameter | Type | Required | Notes |
|---|---|---|---|
| before | yes | Items on the left of the gap (side_by_side) or above it (stacked) | |
| after | yes | Items on the right of the gap (side_by_side) or below it (stacked) | |
| arrangement | string | yes | side_by_side: the gap runs up and down between items left and right of it; stacked: it runs across between items above and below |
| mode | string | yes | resize_gap: make the gap size wide by moving both facing edges (items resize); move_gap: shift the gap by mm (items on both sides resize); move_items: move the after items so the gap is size |
| size | number | no | resize_gap, move_items: the new gap (mm) |
| by | number | no | move_gap: how far to move the gap (mm; right or down is positive) |
Mark paragraph styles as accessible context breaks: their paragraphs export to EPUB as thematic breaks (<hr>), or remove the mark (Layout > Accessible context breaks; Paragraph Style Options > Export Tagging)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| styles | array | yes | Paragraph style names, e.g. the style of a "* * *" separator paragraph |
| remove | boolean | no | Remove the context-break mark instead of adding it |
| exportClass | string | no | CSS class to give the exported break |
Create or change a table of contents style: its title, the paragraph styles it collects, and the level, entry style, page number and separator of each (Layout > Table of Contents Styles). Keep one style per table (contents, figures, tables) to build several.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | yes | — | |
| newName | no | — | |
| options | no | — | |
| entries | array | no | Paragraph styles to include, in order. An entry for a style the TOC style already includes is updated |
| replaceEntries | no | — | |
| epubNavigation | no | — |
Generate a table of contents from a TOC style and place it on a page, or update the one already in the document (Layout > Table of Contents, Layout > Update Table of Contents). Can take entries from every document of a book and make the table interactive (PDF bookmarks and links).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| style | no | — | |
| replaceExisting | no | — | |
| bookPath | no | — | |
| includeOverset | no | — | |
| interactive | no | — |
Set footnote and endnote options: numbering, prefix and suffix, reference and text styles, separator, spacing, rules, and the endnote header, scope and frame (Type > Document Footnote Options, Type > Document Endnote Options); and whether Word footnotes and endnotes come in on import (Word Import…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| footnotes | no | — | |
| endnotes | no | — | |
| wordImport | no | — |
Insert a footnote or an endnote at a point in text, with its text (Type > Insert Footnote, Type > Insert Endnote). The reference number goes at the point; the note text follows the document's note options.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| at | yes | — | |
| text | no | — |
Work with existing footnotes and endnotes: convert footnotes to endnotes or back (Type > Convert Footnote and Endnote), turn footnotes into ordinary text, delete notes, or go to a note's reference or text (Go to Footnote Reference / Go to Endnote Reference). Note ids come from…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | yes | — | |
| kind | no | — | |
| ids | array | no | Note ids; for conversions and delete, absent means every note in scope |
| storyId | no | — |
Build the index (Window > Type & Tables > Index): add topics, page references and cross-references (New Page Reference, New Cross-reference), index selected text as a topic or a proper name (Last, First), duplicate, delete or capitalize topics, remove unused topics, import topics from another…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | yes | — | |
| topic | no | — | |
| sortOrder | no | — | |
| text | no | — | |
| referenceType | no | — | |
| referenceCount | no | — | |
| referenceStyle | no | — | |
| pageNumberStyle | no | — | |
| properName | no | — | |
| crossReferenceType | no | — | |
| referencedTopic | no | — | |
| customText | no | — | |
| newName | no | — | |
| capitalization | no | — | |
| filePath | no | — | |
| referenceIndex | no | — | |
| sortOptions | array | no | set_sort_options: index sort groups to change |
Generate the index from its topics and place it on a page, or replace the index already generated (Index panel menu > Generate Index): title and title style, nested or run-in, section headings, level, heading, page number and cross-reference styles, and every separator.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| options | no | — | |
| autoflow | no | — | |
| includeOverset | no | — |
Manage conditional text (Window > Type & Tables > Conditional Text): create, change and delete conditions and their indicators, show or hide all, show, hide or print indicators, load conditions and sets from another document, and create, redefine, activate and delete condition sets.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | yes | — | |
| name | no | — | |
| newName | no | — | |
| options | no | — | |
| replaceWith | no | — | |
| indicators | no | — | |
| filePath | no | — | |
| includeSets | no | — | |
| visibility | array | no | create_set, redefine_set: condition visibility to record in the set; other conditions keep their current visibility |
Apply conditions to text, add or remove some, or clear them all (Conditional Text panel; Remove Condition from selection). Text whose conditions are all hidden disappears from the layout.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | yes | — | |
| conditions | no | — | |
| mode | no | — |
Create, change, delete or load cross-reference formats and their building blocks: paragraph text or number, page or chapter number, file or bookmark name, custom text, each with an optional character style (Hyperlinks panel menu > Define Cross-Reference Formats, Load Cross-Reference Formats).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | yes | — | |
| name | no | — | |
| newName | no | — | |
| characterStyle | no | — | |
| blocks | array | no | create, edit: the format's building blocks in order (edit replaces them all), e.g. [{type:"custom_text",text:"see page "},{type:"page_number"}] |
| filePath | no | — |
Insert a cross-reference at a point in text that points to a paragraph or to a text anchor and shows it through a cross-reference format (Type > Hyperlinks & Cross-References > Insert Cross-Reference).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| at | yes | — | |
| destination | object | yes | What it points to: one of paragraph or anchor |
| format | yes | — | |
| name | no | — |
Change existing hyperlinks and cross-references (Window > Interactive > Hyperlinks): rename, set the appearance, point to a new URL, page, anchor or paragraph (Hyperlink Options, Edit Hyperlink, Relink Cross-Reference), change a cross-reference's format (Cross-Reference Options), reset the source…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | yes | — | |
| name | no | — | |
| id | no | — | |
| newName | no | — | |
| appearance | no | — | |
| destination | object | no | set_destination: one of url, pageIndex, anchor or paragraph |
| format | no | — | |
| source | no | — |
Manage PDF bookmarks (Window > Interactive > Bookmarks): add a bookmark to a page, text anchor or text, nested under another; delete, rename, go to, move (arrange and nest) and sort bookmarks by page order or name.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | yes | — | |
| name | no | — | |
| newName | no | — | |
| destination | object | no | add: one of pageIndex, anchor or text |
| parent | no | — | |
| position | no | — | |
| reference | no | — | |
| sortBy | no | — |
Create or change a text variable (Type > Text Variables > Define): custom text, file name, last page number, chapter number, creation / modification / output date with its format, running header from a paragraph or character style, or a metadata caption; with text before and after.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | yes | — | |
| type | no | — | |
| options | no | — | |
| newName | no | — |
Insert a text variable at a point in text, such as a running header, chapter number or last page number (Type > Text Variables > Insert Variable).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | yes | — | |
| at | yes | — |
Convert text variables to ordinary text: every instance of one variable, or the instances inside some text (Type > Text Variables > Convert Variable to Text). Optionally delete the variable afterwards.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | no | — | |
| text | no | — | |
| deleteVariable | no | — |
Make captions for images from their metadata (Object > Captions > Caption Setup, Generate Live Caption, Generate Static Caption): a text frame beside each item with a live metadata caption variable, or its text; or convert live captions to static text (Convert to Static Caption). Can number…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| mode | no | — | |
| metadataField | no | — | |
| textBefore | no | — | |
| textAfter | no | — | |
| position | no | — | |
| offset | no | — | |
| size | no | — | |
| paragraphStyle | no | — | |
| group | no | — | |
| variableName | no | — | |
| numbering | object | no | Number captions (needs paragraphStyle): the style numbers paragraphs through this list |
Work with a book's documents and the book file (Book panel menu): document information (path, size, date, status, pages), remove or replace a document, save the book under a new name (Save Book As), or close the book.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | yes | — | |
| action | yes | — | |
| documentIndex | no | — | |
| replacementPath | no | — | |
| outputPath | no | — | |
| save | no | — |
Set a document's chapter number, its style, and whether it continues from or matches the previous document in its book (Book panel menu > Document Numbering Options; Layout > Numbering & Section Options). Acts on the active document, or opens, changes and saves the document at documentPath.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| documentPath | no | — | |
| source | no | — | |
| chapterNumber | no | — | |
| format | no | — |
Run a long-document panel menu command that has no scripting equivalent: Index panel Show Find Field / Show Unused Topics; Conditional Text panel Show Options / Select All Unused; Hyperlinks panel Update Hyperlink, sort and Small Panel Rows; Book panel Reveal in Finder / Small Panel Rows; Paste as…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | yes | — |
Report a document's long-document structure: TOC styles, footnotes and endnotes (with ids), index topics and sort options (Index panel), conditions, condition sets and hidden conditional text (Conditional Text panel), cross-reference formats, hyperlinks and text anchors (Hyperlinks and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sections | array | no | Which parts to report (default all): … |
| limit | no | — |
Print the active document, or write it to a PostScript file, with any Print dialog option: printer, PPD, copies, pages, paper and scaling, marks and bleed, composite or separations output, trapping, screening, graphics, colour management and advanced options; or only save those settings in the…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preset | no | — | |
| settings | no | — | |
| output | no | — | |
| postscriptFile | no | — |
Read the active document's print settings (every Print dialog option), the printers, PPDs, paper sizes and screenings available, whether PDF pass-through is in use, and the saved print presets (File > Print; File > Print Presets)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| booklet | boolean | no | Read the Print Booklet settings (booklet setup and its print settings) instead of the Print dialog's |
Create, edit, rename, duplicate, delete or read print presets, optionally capturing the active document's current print settings (File > Print Presets > Define; File > Print > Save Preset)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do with the preset |
| name | string | yes | The preset name (the new name for create; the existing preset otherwise) |
| newName | string | no | New name (update renames; duplicate names the copy, default "<name> copy") |
| fromDocument | boolean | no | Start from the active document's print settings (create and update), like Save Preset in the Print dialog |
| settings | no | — |
Print the active document as a booklet (saddle stitch, perfect bound or consecutive printer spreads) with its booklet setup and print settings, to a printer or a PostScript file, or only save those settings (File > Print Booklet)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| booklet | no | — | |
| preset | no | — | |
| settings | no | — | |
| output | no | — | |
| postscriptFile | no | — |
List trap presets with all their options, the pages each is assigned to, and which are unused (Window > Output > Trap Presets; panel menu > Select All Unused)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| scope | string | no | The active document's presets, or the application defaults used by new documents |
Create, edit, rename, duplicate or delete trap presets, load them from another InDesign document, or delete every unused one (Trap Presets panel menu: New Preset, Duplicate Preset, Delete Presets, Preset Options, Load Trap Presets, Select All Unused); assign presets to pages with set_page_properties
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do: load copies presets from fromFile; delete_unused deletes presets no page uses |
| name | string | no | The preset name (the new name for create; the existing preset for update, duplicate and delete) |
| newName | string | no | New name (update renames; duplicate names the copy, default "<name> copy") |
| settings | no | — | |
| replaceWith | string | no | For delete and delete_unused: the preset pages using a deleted preset get instead |
| fromFile | string | no | For load: absolute path of an InDesign document or template (.indd, .indt) to load the trap presets of |
| scope | string | no | The active document's presets, or the application defaults used by new documents |
Read preflight profiles (application and embedded in the document), one profile's rules with their settings, the preflight options, the catalog of rule ids, and the live preflight status of the document (Preflight panel; Define Profiles; Preflight Options; preflight status in the document window)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profile | string | no | A profile to list the rules of, with each rule's flag and data values |
| embedded | boolean | no | The profile is the one embedded in the document rather than an application profile |
| ruleCatalog | boolean | no | Also list every rule id and category preflight knows |
| status | boolean | no | Also report the document's live preflight result: the profile in use and the problems found |
| maxResults | integer | no | Most problems to list in the status |
Create, edit, duplicate or delete preflight profiles and their rules (flag each rule as error, warning or information, or disable it, and set its data values); load a profile from an .idpp file, export one, or embed or unembed it in the active document (Preflight panel menu > Define Profiles, Load…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do with the profile |
| name | string | no | The profile name (the new name for create; not needed for load) |
| embedded | boolean | no | Act on the profile embedded in the active document rather than the application profile (update, delete, export, unembed) |
| newName | string | no | New name (update renames; duplicate names the copy, default "<name> copy") |
| description | string | no | Profile description (create, update) |
| copyFrom | string | no | Replace the profile's rules with those of this profile (create, update), e.g. "[Basic]" |
| rules | array | no | Rules to add or change (create, update); a rule not yet in the profile is added |
| removeRules | array | no | Rule ids to remove from the profile (update) |
| filePath | string | no | Absolute .idpp path: the file to load (load) or write (export) |
Turn live preflight on or off for the active document or for all documents, choose the working profile and how embedded profiles are used, which layers, pasteboard objects, nonprinting objects and pages are checked, and how many rows per error the Preflight panel lists (Preflight panel menu >…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| scope | string | no | The active document's options, or the application's (defaults for all documents; enabled here is Enable Preflight for All Documents) |
| enabled | boolean | no | Turn live preflight on (true) or off (false) (Preflight panel: On) |
| workingProfile | string | no | The profile to preflight with (Working Profile); for a document, its embedded profile is found first |
| pages | string | no | Pages to preflight: "all", or a range such as "1-4, 7" (Preflight panel: Pages) |
| panelRowsPerError | string | no | How many rows the Preflight panel lists per error (Limit Rows per Error); opens the Preflight panel |
List the active document's inks as the Ink Manager shows them: process or spot, alias, ink type, neutral density, trapping sequence, whether each prints and converts to process, screen frequency and angle, and whether standard Lab values are used for spots (Swatches panel menu > Ink Manager)
No parameter schema on file.
Set inks for separations as the Ink Manager does: alias a spot ink to another ink, set ink type, neutral density and trapping sequence, convert spot inks (or all of them) to process, use standard Lab values for spots, and choose which ink plates print with their screen frequency and angle (Ink…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| inks | array | no | Settings per ink; only the options you pass change |
| allSpotsToProcess | boolean | no | Convert every spot ink to process (true) or back to spot (false) (All Spots to Process) |
| useStandardLabValuesForSpots | boolean | no | Use Lab values for spot colours (Use Standard Lab Values for Spots) |
Preview output on screen: turn Overprint Preview on or off, open the Separations Preview or Flattener Preview panel, show all plates or a single cyan, magenta, yellow, black or spot plate, and show single plates in black or desaturate black (View > Overprint Preview; Window > Output > Separations…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| overprintPreview | boolean | no | Simulate overprinting in the document window (View > Overprint Preview) |
| separationsPanel | boolean | no | Open (true) or close (false) the Separations Preview panel |
| flattenerPanel | boolean | no | Open (true) or close (false) the Flattener Preview panel, which highlights areas transparency flattening affects |
| plate | string | no | Show every plate, or one plate alone (spot_1 is the first spot ink) |
| singlePlatesInBlack | boolean | no | Show single plates in black rather than their ink colour (Show Single Plates in Black) |
| desaturateBlack | boolean | no | Show black as dark grey to tell rich black from plain black (Desaturate Black) |
Set how objects and text print: overprint fill, stroke and gap and Nonprinting on items (Window > Output > Attributes), overprint on text fill and stroke and on paragraph rules, overprint of footnote rules, the [Black] overprint preference, and which layers print (Layer Options > Print Layer)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | no | Items to set item attributes on. … | |
| items | object | no | Attributes panel settings for the target items |
| text | no | Text to set text overprint on. … | |
| textOverprint | object | no | Overprint settings for the chosen text |
| footnoteRules | object | no | Overprint of the footnote separator rules (Type > Document Footnote Options > Layout) |
| overprintBlack | boolean | no | Overprint the [Black] swatch at 100% (Preferences > Appearance of Black > Overprint [Black] Swatch at 100%) |
| layers | array | no | Layers to make printable or not (Layer Options > Print Layer) |
Report what packaging the active document involves, as the Package dialog does: a summary with problems flagged, fonts and their status, links and images with status, colour space and resolution, colours and inks, and the print settings (File > Package: Summary, Fonts, Links and Images, Colors and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| maxItems | integer | no | Most fonts and links to list |
Package the active document with every Package option: copy fonts, linked graphics and colour profiles, update links, use document hyphenation exceptions only, include hidden-layer content, IDML and PDF (with a PDF preset), write the report, and continue despite preflight errors (File > Package >…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| outputPath | string | yes | Absolute path of the package folder (created if missing) |
| copyFonts | boolean | no | Copy Fonts |
| copyLinkedGraphics | boolean | no | Copy Linked Graphics |
| copyProfiles | boolean | no | Copy colour profiles |
| updateGraphicLinks | boolean | no | Update Graphic Links In Package |
| useDocumentHyphenationExceptionsOnly | boolean | no | Use Document Hyphenation Exceptions Only: the packaged document does not compose with the user dictionary |
| includeHiddenLayers | boolean | no | Include Fonts and Links From Hidden and Non-Printing Content |
| includeIdml | boolean | no | Include IDML |
| includePdf | boolean | no | Include PDF (Print) |
| pdfPreset | string | no | PDF preset for the included PDF (Select PDF Preset) |
| createReport | boolean | no | Write the package report (the Instructions text file) |
| ignorePreflightErrors | boolean | no | Package even when preflight reports errors |
| versionComments | string | no | Comments saved with the document if packaging saves it |
| forceSave | boolean | no | Save the document first if it has unsaved changes |
Create or edit a paragraph style without applying it (Paragraph Style Options): name, Based On, Next Style, Reset To Base, and its character, indents and spacing, keep, hyphenation, justification, drop cap, rule, span column, shading, border and bullets and numbering attributes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| nextStyle | no | — | |
| resetToBase | boolean | no | Reset To Base: make the style match its Based On style before applying attributes |
| attributes | no | — | |
| applyToSelection | boolean | no | Apply Style to Selection: also apply the style to the selected text |
Create or edit a character style without applying it (Character Style Options): name, Based On, Reset To Base, and its font, size, leading, tracking, case, position, scale, colour and stroke attributes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| resetToBase | boolean | no | Reset To Base: make the style match its Based On style before applying attributes |
| attributes | no | — | |
| applyToSelection | boolean | no | Apply Style to Selection: also apply the style to the selected text |
Create or edit an object style without applying it (Object Style Options): name, Based On, which categories it includes, and its fill, stroke, corner, paragraph style, text frame general, baseline, auto-size and column rule, story, text wrap and other, anchored object, frame fitting and export…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| categories | object | no | Turn categories on or off (the check boxes in Object Style Options). Setting a section below turns its category on unless it is set here |
Create or edit a table style without applying it (New Table Style, Table Style Options): name, Based On, the cell styles for header, footer, body, left and right column regions, table setup (border, space before and after, stroke drawing order), alternating row and column strokes, and alternating…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cellStyles | object | no | Cell styles by region; each is a cell style name, or "same_as_body" (not for body) |
| tableSetup | object | no | Table Setup: border, spacing and stroke drawing order |
| rowStrokes | object | no | Row Strokes: an alternating pattern of two row strokes |
| columnStrokes | object | no | Column Strokes: an alternating pattern of two column strokes |
| fills | object | no | Fills: an alternating pattern of two fills, by rows or by columns |
Create or edit a cell style without applying it (New Cell Style, Cell Style Options): name, Based On, paragraph style, text (insets, vertical justification, first baseline, clipping, rotation), graphic insets and clipping, edge strokes and fill, and diagonal lines
| Parameter | Type | Required | Notes |
|---|---|---|---|
| paragraphStyle | no | — | |
| text | no | — | |
| graphic | no | — | |
| strokes | object | no | Cell edge strokes |
| fill | object | no | Cell fill |
| diagonal | object | no | Diagonal lines |
Duplicate, delete (with a replacement style), move or copy styles into a style group, for any kind of style (Duplicate Style, Delete Style, Copy to Group in the Paragraph, Character, Object, Table and Cell Styles panels); and turn a paragraph style's bullets and numbering into text
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| action | string | yes | What to do with each style |
| styles | array | yes | Style names (or "Group/Style" paths) |
| newName | string | no | duplicate: name for the copy (one style only); without it InDesign names the copy |
| group | string | no | move_to_group / copy_to_group: style group path, created when missing; "" for the top level |
| replaceWith | no | — |
Create, rename, duplicate or delete style groups, or make a group from styles, for any kind of style (New Style Group, New Group from Styles, Style Group Options, Duplicate Group, Delete Group in the style panels)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| action | string | yes | What to do |
| group | string | yes | The group path, such as "Headings" or "Body/Lists". For create and create_from_styles, the new group (parents are created as needed) |
| name | string | no | rename: the new name; duplicate: a name for the copy |
| styles | array | no | create_from_styles: the styles to move into the new group |
| replaceWith | no | — |
Apply a paragraph, character, object, table or cell style, optionally clearing overrides, character styles, cell styles or attributes the style does not define, and for paragraph styles Apply Style then Next Style (the style panels' Apply commands)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| style | yes | — | |
| text | no | — | |
| target | no | — | |
| table | no | — | |
| cells | no | — | |
| clear | string | no | What to clear while applying. Paragraph: overrides, character_styles or all. Object: overrides (Clear All), not_defined (Clear Attributes Not Defined by Style) or all. Table: overrides, cell_styles or |
| thenNextStyle | boolean | no | Paragraph styles: Apply Style then Next Style across the chosen paragraphs |
Clear local formatting that differs from the applied style: all, character-only or paragraph-only overrides on text; object style overrides or attributes not defined by the style; table style overrides; cell style overrides or attributes not defined by the style (Clear Overrides in the style panels)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | What to clear overrides on |
| text | no | — | |
| target | no | — | |
| table | no | — | |
| cells | no | — | |
| what | string | no | Text: all, character or paragraph overrides. Object and cell: overrides, or not_defined (Clear Attributes Not Defined by Style). Table: overrides |
Redefine a style to match the formatting of the chosen text, object, table or cell (Redefine Style in the Paragraph, Character, Object, Table and Cell Styles panel menus). The chosen target is selected first; the style redefined is the one applied to it
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| text | no | — | |
| target | no | — | |
| table | no | — | |
| cells | no | — |
Break the link between the chosen text, objects, table or cells and their style, keeping the current formatting (Break Link to Style in the Paragraph, Character, Object, Table and Cell Styles panel menus). The chosen target is selected first
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| text | no | — | |
| target | no | — | |
| table | no | — | |
| cells | no | — |
Load styles from another InDesign document or template: paragraph, character, all text, object, table, cell, table and cell, TOC or stroke styles, choosing how name conflicts resolve (Load Styles in the style panel menus)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | The InDesign document (.indd) or template (.indt) to load from |
| types | array | yes | Which styles to load: text loads paragraph and character styles, table_and_cell loads both table and cell styles |
| conflicts | string | no | When a style with the same name exists: rename the incoming one, overwrite the existing one, or skip it |
Set a paragraph style's nested styles (a character style up to a delimiter), nested line styles (a character style for N lines) or GREP styles (a character style wherever a GREP pattern matches): replace, add, remove one or clear them; or insert an End Nested Style Here character into text (Drop…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| style | no | — | |
| type | string | no | nested, line or GREP styles |
| action | string | no | replace all entries, add entries, remove the entry at removeIndex, clear all, or insert End Nested Style Here at the end of text |
| entries | array | no | Entries in order. Nested: characterStyle, delimiter (a NestedStyleDelimiters name such as ANY_WORD, SENTENCE, TABS, REPEAT, END_NESTED_STYLE, or literal characters), repetition, inclusive. Line: chara |
| removeIndex | integer | no | remove: the entry to delete (0-based) |
| text | no | — |
Set export tagging for paragraph and character styles in one call: the HTML/EPUB tag, class and attributes, the PDF tag, and whether to emit CSS or split the EPUB (Export Tagging in Style Options, Edit All Export Tags)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entries | array | yes | One entry per style and export type |
Find text by paragraph or character style (and optionally by text) in the document or one story, and change it to another paragraph or character style (Find/Change with Find Format and Change Format styles). Without change, only counts the matches
| Parameter | Type | Required | Notes |
|---|---|---|---|
| find | object | yes | What to find; give at least one |
| change | object | no | What to change matches to; leave out to only find |
| frameId | integer | no | Search only the story of this text frame (default: the whole document) |
Set the default object styles for new text and graphic frames, the default paragraph and character styles for new text, and whether applying an object style always clears overrides (Default Text Frame Style, Default Graphic Frame Style, Clear Overrides When Applying Style); returns the current…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| textFrameStyle | no | — | |
| graphicFrameStyle | no | — | |
| paragraphStyle | no | — | |
| characterStyle | no | — | |
| clearOverridesWhenApplying | boolean | no | Clear Overrides When Applying Style (an application preference) |
Quick Apply for styles: find paragraph, character, object, table and cell styles whose names match a query (optionally prefixed p:, c:, o:, t: or e: to search one kind) and apply the best match to the selection, or only list the matches (Edit > Quick Apply)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Words to match in style names, such as "head 2" or "p:body" |
| kinds | array | no | Kinds of style to search (default: all, or the one named by a prefix) |
| apply | boolean | no | Apply the best match to the selection (false only lists matches) |
| clearOverrides | boolean | no | Clear overrides while applying (paragraph, object, table and cell styles) |
Choose which kinds of items Quick Apply searches: paragraph, character, object, table and cell styles, menu commands (and hidden ones), scripts, text variables and conditions (the Include options in the Quick Apply menu); returns each filter's state
No parameter schema on file.
Run a style panel menu command: Open All Style Groups, Close All Style Groups, Sort by Name, Small Panel Rows or Select All Unused, in the Paragraph, Character, Object, Table or Cell Styles panel (the panel is shown first)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | yes | — | |
| command | string | yes | The panel menu command (select_all_unused is not in the Table Styles panel) |
List the tables in the document with their story id, index, frame and size, or describe one table: its rows (type, height, Exactly/At Least), column widths, merged cells, graphic cells, cells holding nested tables, and overset cells (Table panel; the red overset dot in a cell)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | no | Optional: the table to describe in detail; omit to list every table. … |
Set Table Options (Table > Table Options): row, column, header and footer counts, the table border, space before and after, stroke drawing order, table direction and alignment in the frame; alternating row and column strokes; alternating fills; and repeating headers and footers, which control how…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | yes | — | |
| setup | object | no | Table Setup tab |
| rowStrokes | object | no | Row Strokes tab: an alternating pattern of two strokes. first.count and next.count set the pattern (1 and 1 = every other row) |
| columnStrokes | object | no | Column Strokes tab: an alternating pattern of two strokes. first.count and next.count set the pattern |
| fills | object | no | Fills tab: alternating fills by row or by column |
| headersFooters | object | no | Headers and Footers tab |
Set Cell Options (Table > Cell Options) on a block of cells: text insets, vertical justification, paragraph spacing limit, first baseline, clipping, text rotation and writing direction, plus paragraph and character styles, size and alignment of the cell text; graphic cell insets and clipping;…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | no | — | |
| cells | no | — | |
| text | object | no | Text tab, and formatting of the cell text |
| graphic | object | no | Graphic tab (graphic cells) |
| strokes | no | — | |
| fill | object | no | Cell Fill |
| rows | object | no | Rows and Columns tab: applies to every row the cells span |
| columns | object | no | Rows and Columns tab: applies to every column the cells span |
| diagonal | no | — |
Insert a new table at a point in existing text (Table > Insert Table), or inside a cell of another table to nest it. To make a table in a new frame, use create_table
| Parameter | Type | Required | Notes |
|---|---|---|---|
| at | no | — | |
| inCell | object | no | Nest the new table in this cell, after the cell's text (instead of at) |
| bodyRows | integer | no | Body rows |
| columns | integer | no | Columns |
| headerRows | integer | no | Header rows |
| footerRows | integer | no | Footer rows |
| width | number | no | Table width in mm (default: InDesign's, the width of the frame or cell) |
Insert rows or columns before or after a row or column of a table (Table > Insert > Row / Column; also what dragging a table edge with the modifier key does)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | yes | — | |
| kind | string | yes | Insert rows or columns |
| count | integer | no | How many to insert |
| reference | integer | no | The row or column to insert next to (0-based; default: the last one) |
| position | string | no | Below/right of the reference (after) or above/left of it (before) |
| size | number | no | Height of each new row or width of each new column in mm (default: like the reference) |
Delete rows, columns or the whole table (Table > Delete > Row / Column / Table)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | no | — | |
| part | string | yes | What to delete: the rows or the columns the cells span, or the table |
| cells | no | — |
Merge or unmerge cells, split cells horizontally or vertically, convert cells to graphic or text cells, or convert rows to header, body or footer rows (Table > Merge Cells, Unmerge Cells, Split Cell Horizontally / Vertically, Convert Cell to Graphic Cell / Text Cell, Convert Rows)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | no | — | |
| cells | no | — | |
| operation | string | yes | What to do to the cells (row conversions act on every row the cells span) |
| keepContents | boolean | no | For to_graphic_cells and to_text_cells: keep the content where InDesign can |
Resize rows and columns: set row heights or column widths, keep the table width by taking the change from the neighbouring column (as Shift-dragging a column border does), scale the whole table width or height proportionally, or distribute rows or columns evenly (Table > Distribute Rows Evenly /…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | no | — | |
| cells | no | — | |
| rowHeight | number | no | New height in mm for every row the cells span (the minimum for At Least rows) |
| columnWidth | number | no | New width in mm for every column the cells span |
| keepTableWidth | boolean | no | With columnWidth: take the change from the next column (or the previous one at the right edge) so the table keeps its width |
| tableWidth | number | no | Scale every column proportionally to this total width in mm |
| tableHeight | number | no | Scale every row proportionally to this total height in mm |
| distribute | string | no | Make the rows and/or columns the cells span equal, keeping their total size |
Convert delimited text to a table (Table > Convert Text to Table): a whole story, a character range of it, or the selected text
| Parameter | Type | Required | Notes |
|---|---|---|---|
| source | object | yes | The text to convert: a story (by frameId or storyId), optionally a character range of it, or selection: true |
| columnSeparator | no | — | |
| rowSeparator | no | — | |
| columns | integer | no | Number of columns; needed when the column and row separators are the same |
| headerRows | integer | no | Make this many of the first rows header rows |
Convert a table back to delimited text (Table > Convert Table to Text); cell formatting other than text formatting is lost
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | yes | — | |
| columnSeparator | no | — | |
| rowSeparator | no | — |
Copy or cut a block of cells with their text formatting into the same or another table: over existing cells, or into new rows or columns inserted before or after a row or column (Edit > Copy / Cut / Paste on table cells, and the Table panel's Paste Before / Paste After). Pasting a whole table…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| source | object | yes | The cells to copy |
| target | object | no | Where to paste |
| placement | string | no | Paste over existing cells, or into new rows or columns before or after the reference row or column |
| cut | boolean | no | Clear the source cells after copying (Cut) |
| removeSourceTable | boolean | no | Delete the source table afterwards (for combining two tables) |
Select a table, cells, rows, columns, or the header, body or footer rows (Table > Select > Cell / Row / Column / Table / Header Rows / Body Rows / Footer Rows), and bring the page into view, which with one row is Table > Go to Row
| Parameter | Type | Required | Notes |
|---|---|---|---|
| table | yes | — | |
| part | string | no | What to select; cells, rows and columns use the cells argument |
| cells | no | — | |
| reveal | boolean | no | Turn the window to the page where the selection starts |
Run a Table keyboard or panel command on the current selection: move the text cursor between cells, extend a cell selection, toggle between selecting the cell and its text, jump to the original header or footer rows (Table > Edit Header / Edit Footer), or set which lines the stroke proxy selects…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | The command to run |
| times | integer | no | How many times to run it (for moving and extending) |
Place an Excel workbook (.xlsx or .xls) as a table, with the Microsoft Excel Import Options set without the dialog: sheet, cell range, formatted or unformatted table or tabbed text, cell alignment, decimal places, hidden cells, and whether the placed file stays linked for updates. Places at a…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Path to the .xlsx or .xls file |
| sheet | string | no | Sheet name (default: the sheet at sheetIndex) |
| sheetIndex | integer | no | 0-based sheet index, used when sheet is not given |
| range | string | no | Cell range such as A1:F20 (default: the used range of the sheet) |
| formatting | string | no | Table: formatted table, unformatted table, unformatted tabbed text, or format only once |
| cellAlignment | string | no | Cell Alignment: as in the spreadsheet, or left, center, right |
| decimalPlaces | integer | no | Number of decimal places to keep |
| includeHiddenCells | boolean | no | Include hidden cells |
| link | boolean | no | Keep the placed spreadsheet linked so the table can be updated from the file (Create Links When Placing Text and Spreadsheet Files) |
| at | no | Place at a point in text (instead of frame). … | |
| frame | object | no | Place in a new text frame (instead of at); x, y, width and height in mm from the page's top-left corner |
Set Text Frame Options on text frames: columns (fixed number, fixed width or flexible width, count, width, maximum, gutter, balance), inset spacing, vertical justification and paragraph spacing limit, ignore text wrap, baseline options and a custom baseline grid, auto-sizing, footnote overrides…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — |
Read the Text Frame Options of text frames: columns, inset, vertical justification, baseline options, auto-sizing, footnotes and column rules (Object > Text Frame Options). Lengths in mm, stroke weight in points
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — |
Set text wrap on page items: no wrap, wrap around the bounding box, wrap around the object shape, jump object or jump to next column; invert, offsets, wrap to (sides, towards or away from the spine, largest area), contour options and Apply to Parent Page Only (Window > Text Wrap)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| mode | string | no | Wrap type |
| offset | no | — | |
| invert | boolean | no | Invert: wrap text inside the shape |
| wrapTo | string | no | Wrap To: which sides of the object text wraps on |
| contour | object | no | Contour Options, for a wrap around the object shape |
| applyToParentPageOnly | boolean | no | Apply to Parent Page Only (items on parent pages) |
Read the text wrap of page items: wrap type, invert, offsets, wrap to, contour options and the paths and alpha channels a placed image offers (Window > Text Wrap)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — |
Work with notes (Type > Notes, Notes panel, Note tool): add a note at a text position, list notes with author and dates, convert text to a note or a note to text, split a note, expand or collapse notes, remove notes from a story or the document, go to the next, previous, first or last note, or…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | add | list | convert_text_to_note | convert_to_text | split | set_collapsed | remove | select (go to a note) | notes_mode |
| story | no | — | |
| position | integer | no | Character position in the story (add, notes_mode); defaults to the selection's insertion point, else the end of the story |
| text | string | no | Note text (add) |
| start | integer | no | First character of the text to convert (convert_text_to_note) |
| length | integer | no | Number of characters to convert (convert_text_to_note) |
| noteIds | array | no | Note ids from list (convert_to_text, split, set_collapsed, remove, select) |
| splitAt | integer | no | Character in the note text where the second note begins (split) |
| collapsed | boolean | no | Collapse (true) or expand (false) the notes in Story Editor (set_collapsed); without noteIds, every note in the story |
| which | string | no | select: the note after or before the selection, or the first or last note of the story |
| all | boolean | no | remove: every note in the document (Remove All Notes) |
Track changes (Type > Track Changes, Track Changes panel): turn tracking on or off for a story or every story, list tracked changes with type, author and date, accept or reject one change, all changes in a story or document, or only those by one user, and go to the next, previous, first or last…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | enable | disable | list | accept | reject | select (go to a change) |
| story | no | — | |
| indexes | array | no | accept/reject/select: change indexes within the story, as list reports them (needs story) |
| userName | string | no | accept/reject: only changes by this user (Accept/Reject All Changes by This User) |
| which | string | no | select: the change after or before the selection, or the first or last change of the story |
| limit | integer | no | list: most changes to return |
Read the editorial preferences: Notes, Track Changes, Story Editor Display (font, size, spacing, colours, cursor, style name column, depth ruler) and Type preferences for text editing, plus the user name for notes and changes
No parameter schema on file.
Set editorial preferences (Preferences > Notes, Track Changes, Story Editor Display and Type; View > Story Editor): note colour and tooltips, which changes show and how they are marked, Story Editor font, colours and cursor, the style name column and depth ruler, triple-click and smart cut and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| userName | string | no | User name recorded with notes and tracked changes (File > User) |
| notes | object | no | Notes preferences |
| trackChanges | object | no | Track Changes preferences |
| storyEditor | object | no | Story Editor Display preferences and View > Story Editor options |
| typing | object | no | Type preferences |
Show or hide text extras and editorial panels: text threads (View > Extras > Show Text Threads), note anchors (View > Extras > Show Notes), tracked changes (View > Show Changes), the Notes, Track Changes and Text Wrap panels, and the Text Wrap panel options. Each option is true to show, false to…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notes | boolean | no | Show Notes: note anchors in layout view |
Thread text frames so a story flows through them, unthread a frame from the next or previous one, flow overset text into new frames on the following pages (adding pages if asked), list a thread, or go to the next, previous, first or last frame in a thread
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | thread | unthread | flow | list | select |
| frameIds | array | yes | thread: frames in reading order (at least two). Other actions: the frame to act on (the first id) |
| side | string | no | unthread: break the thread after the frame (default) or before it |
| which | string | no | select: the frame to go to, relative to frameIds[0] |
| addPages | boolean | no | flow: add pages at the end of the document when the text runs past the last page |
| maxFrames | integer | no | flow: most frames to add |
Count the words, characters, lines and paragraphs of a story, or of the selected text, including how much is overset (the word and character counts of the Info panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| story | yes | — |
Open a story in Story Editor (Edit > Edit in Story Editor), close Story Editor windows and return to the same place in the layout (Edit > Edit in Layout), or expand/collapse all footnotes in the active Story Editor window
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | open | close (edit in layout) | toggle_footnotes |
| story | no | — |
Fill text frames with placeholder text (Type > Fill with Placeholder Text), in Latin, Arabic, Cyrillic, Greek or Hebrew script; existing text in the frames is replaced
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| script | string | no | Script of the placeholder text |
Put type on a path (Type on a Path tool) or change its options (Type > Type on a Path > Options): effect (rainbow, skew, 3D ribbon, stair step, gravity), what part of the type aligns to which part of the path, spacing and flip. Works on rectangles, ovals, polygons, lines and frames; an item that…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| text | string | no | Text to put on the path (replaces existing path text) |
| effect | string | no | Effect |
| alignTo | string | no | Align: which part of the type sits on the path |
| toPath | string | no | To Path: top, centre or bottom of the stroke |
| spacing | number | no | Spacing around sharp curves (InDesign's path spacing value) |
| flip | boolean | no | Flip the type to the other side of the path |
Delete type from paths, leaving the paths (Type > Type on a Path > Delete Type from Path)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — |
List the document's XML structure as a tree with element ids, tags, attributes, comments, processing instructions and what each element is tagged to (Structure pane). Ids are what the other XML tools take
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | no | — | |
| maxDepth | integer | no | How many levels to descend |
| maxElements | integer | no | Stop after this many elements |
| snippetLength | integer | no | Characters of each element's text to include (0: none) |
| includeComments | boolean | no | Include XML comments and processing instructions |
Add an XML element to the structure (Structure pane menu > New Element), or wrap existing sibling elements in a new parent element (New Parent Element). The tag is created if the document does not have it
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tag | string | yes | Tag name of the new element |
| parent | no | Parent of the new element (default: the root). … | |
| position | string | no | Where under the parent: last or first child |
| before | no | Or: place the new element just before this sibling | |
| after | no | Or: place the new element just after this sibling | |
| wrap | array | no | Wrap these sibling elements, in order, in the new element (New Parent Element) |
| contents | string | no | Text content of the new element |
| attributes | object | no | Attributes of the new element, as { name: value } |
Change an XML element: retag it, replace its text, add, edit or delete attributes (Structure pane menu > New Attribute; Edit and Delete on an attribute), or move it before or after another element or into one
| Parameter | Type | Required | Notes |
|---|---|---|---|
| element | yes | — | |
| tag | string | no | New tag for the element (created if missing) |
| contents | string | no | Replace the element's text content |
| setAttributes | object | no | Attributes to add or change, as { name: value } |
| removeAttributes | array | no | Names of attributes to delete |
| move | object | no | Move the element in the structure: give both to and reference |
Add an XML comment or processing instruction to an element (Structure pane menu > New Comment, New Processing Instruction), or edit an existing one by id (Edit)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | An XML comment or a processing instruction |
| id | integer | no | Edit the comment or instruction with this id (from list_xml_structure) |
| parent | no | Or: add it to this element (default: the root). … | |
| value | string | no | Comment text |
| target | string | no | Processing instruction target (an XML name) |
| data | string | no | Processing instruction data |
Delete XML elements, comments or processing instructions (Structure pane menu > Delete), or untag elements, keeping their content in the layout (Untag Element). Deleting an element deletes the content tagged to it, as the Structure pane does
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | no | delete removes the items; untag removes the elements but keeps their content |
| ids | array | no | Ids of elements, comments or instructions (from list_xml_structure) |
| xpath | string | no | Or also: every element this XPath expression matches |
| selection | boolean | no | Or also: the element selected in the Structure pane |
Tag frames, stories or text with an XML tag (Tag Element / Tag Frame / Tag Text), autotag frames and tables with the default tags (Tags panel > Autotag), untag frames (Tags panel > Untag), or add every untagged story and graphic to the structure (Structure pane menu > Add Untagged Items)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| tag | string | no | Tag name for action tag (created if missing) |
| target | no | …. A text frame stands for its story | |
| text | no | — | |
| tables | array | no | Tables to autotag, by text frame and table index |
| parent | no | Parent element for newly tagged frames (default: the root). … |
Select an XML element in the Structure pane, or select its content in the layout (Go to Item); select the element of a tagged frame (Select in Structure); or move through the Structure pane with its navigation commands (expand, collapse, next validation error and so on)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| element | no | — | |
| itemId | integer | no | Or: a tagged page item whose element to select (Select in Structure) |
| show | string | no | structure selects the element in the Structure pane; layout selects its frame or text and shows its page (Go to Item) |
| paneCommand | string | no | A Structure pane navigation command, run after any selection (the pane must be open) |
| repeat | integer | no | Run the navigation command this many times |
Set or read the XML view and preferences: show the Structure pane, tagged frames, tag markers, text snippets, attributes, comments and processing instructions (View > Structure; Structure pane menu), small rows in the Tags panel, the Tagging Preset Options (default tags and colours for…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| view | object | no | What is shown |
| tagging | object | no | Tagging Preset Options: the tags autotagging applies, and their colours |
| deleteElementOnContentDeletion | boolean | no | Delete an element when its content (a frame or text) is deleted (XML preferences) |
List the document's XML tags with their colours and how many elements use each, marking unused tags (Tags panel; Select All Unused Tags)
No parameter schema on file.
Create an XML tag (Tags panel menu > New Tag), or rename or recolour one (Tag Options)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Tag name |
| newName | string | no | Rename the tag to this |
| color | no | — | |
| create | boolean | no | Create the tag if the document does not have it |
Delete XML tags (Tags panel menu > Delete Tag), retagging their elements with a replacement tag, or delete every tag no element uses (Select All Unused Tags, then Delete Tag)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| names | array | no | Tags to delete |
| replaceWith | string | no | Tag that elements using a deleted tag get instead (needed when a tag is in use) |
| unused | boolean | no | Delete every tag no element uses |
Load XML tags from an XML or DTD file into the document (Tags panel menu > Load Tags), or save the document's tags to an XML file (Save Tags)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| direction | string | yes | load reads tags from the file; save writes the document's tags to it |
| filePath | string | yes | Absolute path of the XML or DTD file |
Map XML tags to paragraph, character, table or cell styles and style the tagged content (Structure pane or Tags panel menu > Map Tags to Styles), or map styles to tags and tag the styled content (Map Styles to Tags). Maps are kept in the document; map_by_name pairs tags and styles of the same name
| Parameter | Type | Required | Notes |
|---|---|---|---|
| direction | string | yes | Which mapping |
| maps | array | no | Tag and style pairs to add or change |
| mapByName | boolean | no | Also map every tag and paragraph or character style that share a name (Map By Name) |
| replace | boolean | no | Remove the existing maps of this direction first |
| apply | boolean | no | Apply the maps now: style the tagged content, or tag the styled content |
| includeMasterPageStories | boolean | no | styles_to_tags: include stories on parent (master) pages |
| includePasteboardStories | boolean | no | styles_to_tags: include stories on the pasteboard |
| includeEmptyStories | boolean | no | styles_to_tags: include empty stories |
Import an XML file into the structure (File > Import XML; Structure pane menu > Import XML) with the XML Import Options: merge or append, link to the file, XSLT, clone repeating text elements, only import matching elements, import text into tables, skip whitespace-only elements, delete unmatched…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Absolute path of the XML file |
| into | no | Import under this element instead of the root (Import into Selected Element). … | |
| mode | string | no | Merge Content (fill matching placeholders) or Append Content |
| xslt | no | — |
Export the XML structure, or one element of it, to a file with the XML Export Options: include the DTD declaration, view the XML afterwards, export from the selected element, untagged tables as CALS, remap break, whitespace and special characters, XSLT, encoding, ruby, and image copying and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Absolute path of the XML file to write |
| fromElement | no | Export only this element and its children. … | |
| fromSelection | boolean | no | Export from the element selected in the Structure pane (Export From Selected Element) |
| includeDtd | boolean | no | Include DTD Declaration |
| viewAfterExport | boolean | no | Open the exported file afterwards (View XML Using) |
| viewer | string | no | Path of the application to view the XML with (View XML Using); must be inside the allowed directories |
| untaggedTables | string | no | Export Untagged Tables as CALS XML (cals) or not (none) |
| remapCharacters | boolean | no | Remap Break, Whitespace, and Special Characters as character references |
| xslt | no | — | |
| encoding | string | no | File encoding |
| ruby | boolean | no | Export ruby annotations |
| images | object | no | Image options (XML Export Options > Images) |
Load a DTD for validating the XML structure (Structure pane menu > Load DTD), view it (View DTD), set its root element (DTD Options), or delete it (Delete DTD)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| filePath | string | no | load: absolute path of the DTD file |
| rootTag | string | no | load or set_root: the tag of the root element |
| maxLength | integer | no | view: return at most this many characters of the DTD |
Validate the XML structure against the loaded DTD from the root element or from a chosen or selected element (Structure pane menu > Validate from Root Element / Validate from Selected Element), and list the errors (View List of Errors)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from | no | Validate from this element (default: the root). … | |
| maxErrors | integer | no | Stop after this many errors |
Work with the Scripts panel: list the application and user scripts (optionally with files the panel cannot run, Display Unsupported Files), run a script file (ExtendScript .jsx/.js/.jsxbin or UXP .idjs) with name/value script arguments and an undo mode, reveal a script in Finder or Explorer, or…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| includeUnsupported | boolean | no | For list: also list files in the Scripts Panel folders that are not scripts |
| path | string | no | For run, reveal and delete: the script file |
| arguments | object | no | For run: name/value pairs set in app.scriptArgs before the script runs; the values are also passed as the script's arguments, in order |
| undoMode | string | no | For run: how the script's changes are undone (entire_script is a single undo step) |
| undoName | string | no | For run: the name of the undo step |
Set script preferences and return them: Enable Redraw while scripts run, whether scripts may show dialogs and alerts (user interaction level) and the measurement unit scripts use; also reports the object-model version scripts target and the Scripts folder (Scripts panel menu > Enable Redraw;…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| enableRedraw | boolean | no | Enable Redraw: redraw the screen while scripts run |
| userInteractionLevel | string | no | Whether scripts run later may show dialogs and alerts. This server's own tools always run with never_interact |
| measurementUnit | string | no | The measurement unit scripts use (this server's own tools always use millimetres) |
Read or write the script labels scripts use to find objects: get, set or clear an item's label, read or write a keyed label (insertLabel / extractLabel), or find the items whose label contains some text (Window > Utilities > Script Label)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| target | no | — | |
| label | string | no | For set: the label text; for find: text the label contains |
| key | string | no | For get and set: read or write the keyed label with this key instead of the Script Label text |
Look up and invoke InDesign menu actions: search the menu actions by name or area (id, title, area, enabled, checked), read one by id, invoke one by id when it is enabled and opens no dialog, or convert between localised UI strings and language-independent $ID/ key strings…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| nameContains | string | no | For search: text in the action name (case-insensitive) |
| areaContains | string | no | For search: text in the area, such as "Panel Menus:Layers" (case-insensitive) |
| id | integer | no | For get and invoke: the menu action id |
| text | string | no | For find_key_strings: a localised string; for translate_key_string: a $ID/ key string |
| maxResults | integer | no | For search: the most actions to return |
Extend InDesign's menus with scripts: list a menu's submenus and items, add a menu item that runs a script file (a script menu action placed in a menu or a new submenu), list the script menu actions, or remove one by title (Application.menus, scriptMenuActions)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| menu | string | no | The top-level menu by name, such as "$ID/Main" (the menu bar) or "$ID/RtMouseText" (a context menu) |
| submenus | array | no | Path of submenu titles under the menu, such as ["Window", "Utilities"] or ["$ID/&Window"]; add creates missing submenus |
| title | string | no | For add and remove: the menu item title |
| scriptPath | string | no | For add: the script file to run when the item is chosen (.jsx, .js or .jsxbin) |
Attach script files to application or document events, such as open, save, export, place, selection changes and before or after printing (print events); list the attached listeners or remove one by id (Application/Document addEventListener)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| target | string | no | Listen on the application (every document) or the active document |
| eventType | string | no | For add: the event, such as beforePrint, afterPrint, afterOpen, beforeSave or afterSelectionChanged |
| handlerPath | string | no | For add: the script file run when the event happens (.jsx, .js or .jsxbin) |
| id | integer | no | For remove: the listener id (from list) |
Idle tasks: script files InDesign runs when it is idle, after a delay in milliseconds. List them, add one, change a task's delay (0 stops it, -1 runs it once) or remove it (Application.idleTasks)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| name | string | no | For add, set_sleep and remove: the task name |
| sleep | integer | no | For add and set_sleep: milliseconds to wait before the task runs when idle (0 stops it) |
| handlerPath | string | no | For add: the script file to run (.jsx, .js or .jsxbin) |
Read or change any preference object of the application or the active document by name, such as textPreferences, guidePreferences or pasteboardPreferences: every preferences pane and default setting is one. get lists its properties; set changes properties given as booleans, numbers, strings, lists…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | no | Read the properties, or set some |
| target | string | no | The application's preferences (defaults for new documents) or the active document's |
| preference | string | yes | The preference object's property name, such as "textPreferences", "viewPreferences" or "storyPreferences" |
| values | object | no | For set: property name to value, e.g. { "typographersQuotes": true, "smallCap": 70, "baselineGridColor": { "enum": "UIColors.LIGHT_BLUE" } } |
Read InDesign diagnostics: performance metrics such as CPU time, memory size, thread and handle counts and composition counts, with their long names, and the memory statistics where available (Application.performanceMetric)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| metrics | array | no | Which metrics (PerformanceMetricOptions names); default a common set |
| includeMemoryStatistics | boolean | no | Also return memoryStatistics() |
Switch the active menu set, keyboard shortcut set or workspace by name (Edit > Menus, Edit > Keyboard Shortcuts, Window > Workspace)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| menuSet | string | no | Menu customization set name |
| shortcutSet | string | no | Keyboard shortcut set name, such as "Default" |
| workspace | string | no | Workspace name, such as "Essentials" |
Write the RELAX NG schema that describes IDML into a folder, for a single-file IDML or the package (multi-file) format (Application.generateIDMLSchema)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| folder | string | yes | The folder to write the schema files into |
| packageFormat | boolean | no | Schema for the IDML package format (several files) instead of a single file |
Run XML rules over the document's structure: match XPath expressions (such as "//Story/Head" or "//*[@type='note']") with an XML rule processor and return each match with the rules it matched, its tag and text (XML rules, XMLRuleProcessor)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| xpaths | array | yes | XPath expressions (the subset XML rules support), one per rule |
| maxMatches | integer | no | The most matches to return |
Set opacity, blending mode, isolate/knockout and effects (drop shadow, inner shadow, outer and inner glow, bevel and emboss, satin, basic, directional and gradient feather) on items' object, stroke, fill or content (Effects panel; Object > Effects). Only the options you pass change
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| on | no | — | |
| transparency | object | no | Opacity and blending (Effects dialog > Transparency) |
Read items' opacity, blending and effects on their object, stroke, fill and content (Effects panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| on | no | — | |
| includeDisabled | boolean | no | Also report the settings of effects that are off (default: only effects that are on) |
Remove items' effects (Object > Effects > Clear Effects), or reset opacity, blending and effects on the object, stroke, fill and content (Object > Effects > Clear All Transparency)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| scope | string | no | effects: turn off every effect on the chosen targets, keeping opacity and blending; all_transparency: also reset opacity to 100%, Normal blending, no isolate or knockout, on all four targets |
| on | no | — |
Set the global light shared by shadows and bevels (Object > Effects > Global Light), the transparency blend space (Edit > Transparency Blend Space) and how transparency is drawn on screen at each display performance level (Preferences > Display Performance)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| scope | string | no | Where global light and blend space are set: the active document, or the application defaults for new documents |
| globalLight | object | no | Global Light |
| blendSpace | string | no | Transparency Blend Space: Document RGB or Document CMYK |
| transparencyDisplay | object | no | Transparency quality on screen per display performance level (application-wide) |
Read global light, transparency blend space, transparency display quality, transparency flattener presets and each spread's flattening (Object > Effects > Global Light; Edit > Transparency Blend Space; Edit > Transparency Flattener Presets; Pages panel > Spread Flattening)
No parameter schema on file.
Create, edit, duplicate or delete transparency flattener presets used when printing or exporting (Edit > Transparency Flattener Presets)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do with the preset |
| name | string | yes | The preset name (the new name for create; the existing preset otherwise) |
| newName | string | no | update: rename the preset; duplicate: the copy's name (required) |
| settings | no | — |
Set how a spread is flattened: the document default, None (Ignore Transparency), or custom flattener settings (Pages panel menu > Spread Flattening)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | The spread (0-based) |
| mode | string | yes | default: use the output's flattener preset; none: ignore transparency; custom: the settings given here |
| settings | no | Custom flattener settings (mode: custom); only the ones you pass change |
Set paragraph formatting on text: indents and spacing, alignment, justification, hyphenation, keep options, rules above and below, borders and shading, span and split columns, drop caps and nested styles (Paragraph panel and its menu: Justification, Hyphenation, Keep Options, Paragraph Rules,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| nestedStyles | array | no | Nested styles (Drop Caps and Nested Styles); replaces the paragraphs' nested styles, [] clears them |
| nestedLineStyles | array | no | Nested line styles (Drop Caps and Nested Styles); replaces the paragraphs' nested line styles, [] clears them |
Read the paragraph formatting of text, paragraph by paragraph: indents and spacing, alignment, justification, hyphenation, keep options, rules, borders, shading, span and split columns, drop caps and nested styles (Paragraph panel and its menu). Distances are mm, line weights points
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| groups | array | no | Which groups of settings to read (default: all) |
| maxParagraphs | integer | no | Read at most this many paragraphs |
Turn underline and strikethrough on, off or toggle them, and set their options: weight, offset, type, colour, tint, overprint, gap colour, gap tint and gap overprint (Character panel menu > Underline Options and Strikethrough Options; the Underline and Strikethrough shortcuts). Weights and offsets…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| underline | no | — | |
| strikethrough | no | — |
Create a document with the options of the New Document dialog (File > New > Document): start from a document preset, set the intent (Print / Web / Mobile preset category), ruler units, page size, pages, facing pages, Start #, primary text frame, columns and gutter, margins (or one value for all…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preset | string | no | Document preset to start from, e.g. "[Default]" or a saved preset name |
| settings | no | — | |
| margin | no | — | |
| units | string | no | Ruler units for the new document (horizontal and vertical) |
| savePreset | string | no | Save these settings as a new document preset with this name (Save Document Preset) |
List, read, save (create or update), delete document presets, or save the active document's setup as a preset (File > Document Presets > Define)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | list every preset; get one; save creates or updates one from settings; delete one; save_from_document stores the active document's page size, pages, columns, margins, bleed and slug |
| name | string | no | Preset name (for get, save, delete and save_from_document) |
| settings | no | — | |
| margin | no | — |
File menu commands on documents: Save a Copy (the open document keeps its name), Save All (every open document that has a file), Revert (back to the last save), Close All (saving or discarding changes), save for earlier InDesign versions as IDML, or remove a file from File > Open Recent (the…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | The command to run |
| filePath | string | no | For save_a_copy: an .indd or .indt file; for save_for_earlier_versions: an .idml file; for remove_from_recent: the file to drop from the recent list |
| saving | string | no | For close_all: discard unsaved changes, or save every document first (documents never saved to a file are refused) |
Read or set the document's File Info metadata (File > File Info): title, author, description, keywords, job name and copyright. Reading also reports the file, whether it is modified, converted from another version, or was opened from document recovery data after a crash
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | Read the metadata, or set the fields given |
| metadata | no | — | |
| keywords | array | no | Keywords (replace the existing list) |
Arrange document windows (Window > Arrange): open a new window on the active document, tile or cascade windows, minimise the active window, consolidate all windows into tabs, bring the next or previous document window to the front, or list the open windows
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | The arrangement to apply |
Read or set margins and columns (Layout > Margins and Columns) on document pages, on the pages of parent spreads, or as the document default for new pages: each margin or one value for all sides ("Make all settings the same"), columns, gutter, direction, and custom column positions (column guides…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | no | Read the settings, or set the ones given |
| pages | array | no | Document page indexes (0-based) |
| parents | array | no | Parent (master) spread names, e.g. "A-Parent"; every page of each is changed |
| documentDefault | boolean | no | Change the document default used for new pages |
| margins | no | — | |
| margin | number | no | One margin for all four sides, mm ("Make all settings the same") |
| columnsPositions | array | no | Custom column guide positions in mm from the left margin, in the form InDesign reports them (read them with action get first); sets customColumns |
Find, or find and change, with the Find/Change dialog's full criteria: text, GREP, glyph, object, colour or transliterate searches; Find Format and Change Format attributes; search scope (document, all documents, story, to end of story, selection); and the search options (locked, hidden and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | yes | The search: text, grep, glyph, object (frames by attributes), color (a swatch on text and objects, Edit > Find/Change for colour) or transliterate (Japanese character types and digits) |
| action | string | no | find only counts and lists matches; change replaces them (Change All) |
| find | no | — | |
| change | no | — | |
| options | no | — | |
| scope | string | no | Search: document, all_documents, story (storyId, frameId, or the selection's story), story_to_end (from frameId's text or the cursor), or selection (the selected text). Object and color searches take |
| storyId | integer | no | For scope story: the story id |
| frameId | integer | no | For scope story or story_to_end: a text frame of the story |
| query | object | no | Load a saved query (user or Adobe-supplied) of this mode as the criteria; find, change and options given here are added on top |
| keepCriteria | boolean | no | Leave the criteria and options in Find/Change afterwards (for Find Next and the other run_find_change_command commands); default resets them |
| maxResults | integer | no | How many matches to describe |
Saved Find/Change queries: list the user and Adobe-supplied queries by mode, save criteria as a named query, load a query into Find/Change (ready for Find Next), or delete a saved query (Find/Change dialog > Query menu, Save Query, Delete Query)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| name | string | no | For save, load and delete: the query name |
| mode | string | no | For save, load and delete: which kind of query |
| find | no | — | |
| change | no | — | |
| options | no | — |
Run an Edit menu Find/Change command on the current selection and the criteria in Find/Change (set them with run_find_change keepCriteria: true or a loaded query): Find Next, load the selected text into Find What or Change To, load it and find the next match, or replace the selection with the…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | find_next (Edit > Find Next); load_find_with_selection (selected text into Find What); load_find_and_find_next; load_change_with_selection (selected text into Change To); replace_with_change_to (repla |
InCopy assignments (Assignments panel): list them with their content and status; create an assignment file with a user name, colour and what it includes; edit its options; add text frames' stories to it (exporting them for InCopy first); delete it; write changes to selected, all or out-of-date…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| name | string | no | The assignment name (for create, the new name) |
| newName | string | no | For edit: rename the assignment |
| path | string | no | For create: the assignment file (.icma); for package: the package file (.icap) |
| userName | string | no | For create and edit: the InCopy user it is assigned to |
| frameColor | no | — | |
| content | string | no | For create and edit: what the assignment file includes: placeholder frames only, the assigned spreads, or every spread |
| includeLinksWhenPackage | boolean | no | For create and edit: include linked image files in packages |
| frameIds | array | no | For create and add_content: text frames whose stories to add |
| which | string | no | For update: the named assignments (names), all, or the out-of-date ones |
| names | array | no | For update with which named: the assignments |
| saveDocument | boolean | no | For update: save the document first, so layout changes reach InCopy users |
| submit | boolean | no | For package: check in (submit) the assigned content before packaging |
InCopy content in the layout: export stories for InCopy (chosen frames, a layer's frames, or all stories), check in all checked-out content, save checked-out content without checking it in, or report each story's workflow status (available, checked out, out of date, missing) as the workflow icons…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| frameIds | array | no | Text frames, each standing for its story: for export the stories to export (default: all stories), for save_content the content to save, for status the content to report (default: all managed stories) |
| layer | string | no | For export: export the stories of this layer's text frames |
| folder | string | no | For export: the folder for the InCopy (.icml) files |
| comment | string | no | For check_in_all: the version comment |
Creative Cloud Libraries: place a library asset in the document (linked to the library when its data says so, so library edits update the layout), export the selection as the files a library asset needs, with a thumbnail size, or choose whether new swatches, paragraph styles and character styles…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do; auto_add sets and returns the automatic adding options |
| assetData | string | no | For place: the asset description JSON from Creative Cloud Libraries (as the CC Libraries panel passes to InDesign) |
| path | string | no | For export_selection: the file to export the selection to |
| thumbnailWidth | integer | no | For export_selection: maximum thumbnail width in pixels |
| thumbnailHeight | integer | no | For export_selection: maximum thumbnail height in pixels |
| swatches | boolean | no | For auto_add: add new swatches to the current CC Library |
| paragraphStyles | boolean | no | For auto_add: add new paragraph styles to the current CC Library |
| characterStyles | boolean | no | For auto_add: add new character styles to the current CC Library |
Import comments from a reviewed PDF into the document (File > PDF Comments > Import PDF Comments), list them with type, text, reviewer, date, status and replies, mark them open or resolved, or delete them (PDF Comments panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| path | string | no | For import: the PDF file with comments |
| ids | array | no | For set_status and delete: comment ids (from list) |
| status | string | no | For set_status: the new status |
| maxComments | integer | no | For list: the most comments to return |
Build multi-page spreads (gatefolds and fold-outs, up to 10 pages) and split pages out of spreads, as dragging pages in the Pages panel does: keep a spread together (Allow Selected Spread to Shuffle off) or let it shuffle again, move a page into a spread, or split a page into a spread of its own
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | keep_together / allow_shuffle change a spread; add_page_to_spread moves pageIndex into spreadIndex; split_page moves pageIndex to a new spread of its own after its spread |
| spreadIndex | integer | no | The spread (for keep_together, allow_shuffle and add_page_to_spread) |
| pageIndex | integer | no | The page to move (for add_page_to_spread and split_page) |
| position | string | no | Where the page goes in the spread |
Hide spreads from output and export or unhide them (Pages panel menu > Hide Spread / Unhide Spread, InDesign 2024 or later), and show or hide hidden spreads in the layout (View > Show Hidden Spreads, InDesign 2025 or later)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreads | array | no | Spread indexes to hide or unhide |
| hidden | boolean | no | true hides the spreads, false unhides them |
| showHiddenSpreads | boolean | no | Show hidden spreads in the layout view |
Move the document window through the layout as the Layout menu does: First / Last / Next / Previous Page, First / Last / Next / Previous Spread, and Go Back / Go Forward through the pages viewed
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | Where to go |
Rotate how a spread is shown, to edit rotated content without changing output: 90° clockwise, 90° counter-clockwise, 180°, or clear the rotation (View > Rotate Spread; Pages panel menu > Rotate Spread View)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| rotation | string | yes | The view rotation |
| spreadIndex | integer | no | The spread (default: the active spread) |
Insert a page number or section marker (Type > Insert Special Character > Markers): Current Page Number (usually on a parent page), Next or Previous Page Number for jump lines, or Section Marker; optionally set the section marker text of the page's section
| Parameter | Type | Required | Notes |
|---|---|---|---|
| marker | string | yes | The marker to insert |
| place | yes | — | |
| markerText | string | no | For section_marker: set the marker text of the section the frame's page belongs to (Numbering & Section Options > Section Marker) |
Parent page commands (Pages panel menu > Parent Pages): base a parent on another parent, save a document spread as a parent, load parent pages from another document, select unused parents (and list them), copy a parent to another open document (Move Parent), allow or prevent overrides of parent…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | The command |
| parent | string | no | Parent spread full name, e.g. "A-Parent" (for based_on and move_to_document) |
| basedOn | string | no | For based_on: the parent to base it on, or "None" |
| spreadIndex | integer | no | For save_as_parent: the document spread |
| filePath | string | no | For load: the InDesign document (.indd or .indt) to load parents from |
| clash | string | no | For load: when a parent of the same name exists, rename the loaded one or replace the existing one |
| toDocument | string | no | For move_to_document: name of the open document to copy the parent into |
| itemIds | array | no | For allow_overrides: ids of items on parent spreads |
| allow | boolean | no | For allow_overrides: allow (true) or prevent (false) overriding the items on document pages |
| pageIndex | integer | no | For parent_overlay: the document page |
| offsetX | number | no | For parent_overlay: horizontal offset of the parent page, mm (0 with offsetY 0 clears it) |
| offsetY | number | no | For parent_overlay: vertical offset of the parent page, mm |
Set how the layout is numbered and measured: page numbering view by section or absolute (Preferences > General > Page Numbering View), the content grabber on graphic frames (View > Extras > Show/Hide Content Grabber), the ruler origin per page, spread or on the spine, and the zero point…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageNumbering | string | no | Show section numbering or absolute page positions in the interface |
| showContentGrabber | boolean | no | Show the content grabber in graphic frames |
| rulerOrigin | string | no | Where the horizontal ruler starts |
| zeroPoint | array | no | Ruler zero point [x, y] in mm, relative to the current origin ([0, 0] resets it) |
Show or hide the Pages panel (Window > Pages) and the Layers panel (Window > Layers)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pages | boolean | no | Show (true) or hide (false) the Pages panel |
| layers | boolean | no | Show (true) or hide (false) the Layers panel |
Draw a path from anchor points with optional direction handles, open or closed, as with the Pen or Pencil tool; it takes the document's default object style unless colours are given. Returns the new item
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Page to draw on (0-based) |
| points | array | yes | The anchor points in order (at least two) |
| closed | boolean | no | Close the path (default false: an open path) |
| fillColor | no | — | |
| strokeColor | no | — | |
| name | string | no | A name for the item (Layers panel) |
Edit paths: open, close, reverse or join them, cut them with the scissors, add, move or delete anchor points, and convert points (Object > Paths, Object > Convert Point; Add, Delete and Convert Direction Point tools, Scissors tool)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| action | string | yes | open, close or reverse paths (Object > Paths; reversing a subpath of a compound path fills or empties its holes); set_point_type (Convert Point); add_point, move_point, delete_point (anchor point tool |
| path | integer | no | Path index within the item (a compound path has several). open, close and reverse: default every path; others: default 0 |
| points | array | no | Point indexes: the points to convert (default all), to delete, to move (one) or to cut at (one) |
| pointType | string | no | set_point_type: plain, corner, smooth or symmetrical |
| segment | integer | no | add_point: add a point on segment n (from point n to the next), keeping the path's shape |
| t | number | no | add_point with segment: where on the segment (0 to 1, default 0.5) |
| point | object | no | add_point: a new anchor point with optional handles; move_point: new anchor (handles follow unless given), handles and type |
| at | integer | no | add_point with point: insert at this index (default at the end) |
| joinMode | string | no | join: connect the end points with a segment (default), or combine them into one point |
Read items' paths: whether each is open or closed, and every anchor point with its direction handles and point type
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — |
Combine shapes with the Pathfinder (add, subtract, intersect, exclude overlap, minus back), or make or release a compound path (Object > Pathfinder, Object > Paths, Pathfinder panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| operation | string | yes | Pathfinder operation, or make_compound_path / release_compound_path. Pathfinder results follow the stacking order as in the Pathfinder panel (subtract removes front shapes from the backmost; minus bac |
Convert items to another shape: rectangle, rounded, beveled or inverse rounded rectangle, ellipse, triangle, polygon, line or orthogonal line, or an open or closed path (Object > Convert Shape; Pathfinder panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| shape | string | yes | The new shape |
| sides | integer | no | polygon: number of sides |
| starInset | number | no | polygon: star inset (%) |
| cornerRadius | number | no | Rounded, beveled or inverse rounded rectangle: corner size (mm) |
Set the corner shape and size of items' corners, all at once or individually (Object > Corner Options; live corners)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| shape | string | no | Corner shape |
| radius | number | no | Corner size (mm) |
| corners | array | no | Which corners (default all four) |
Set an image's clipping path: none, detect edges, an alpha channel or a Photoshop path, with threshold, tolerance, inset and options, or convert the clipping path to a frame (Object > Clipping Path > Options; Convert Clipping Path to Frame)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | …: graphic frames, or the placed images themselves | |
| type | string | no | Clipping path type |
| pathName | string | no | The Photoshop path or alpha channel to use (photoshop_path, alpha_channel) |
| threshold | integer | no | Threshold (detect edges, alpha channel) |
| tolerance | number | no | Tolerance (detect edges, alpha channel) |
| insetFrame | number | no | Inset Frame (mm) |
| invertPath | boolean | no | Invert |
| includeInsideEdges | boolean | no | Include Inside Edges |
| restrictToFrame | boolean | no | Restrict to Frame |
| useHighResolutionImage | boolean | no | Use High Resolution Image |
| convertToFrame | boolean | no | Afterwards, convert the clipping path to the graphic frame (Object > Clipping Path > Convert Clipping Path to Frame) |
Convert text frames' text to outlines (compound paths), replacing the text or keeping it (Type > Create Outlines)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | …: text frames | |
| keepText | boolean | no | Keep the original text frame and add the outlines over it (default false: the text is replaced) |
Read the Preferences panes (Edit > Preferences, or InDesign > Settings on macOS): General, Interface, Type, Advanced Type, Composition, Units & Increments, Display Performance, GPU Performance, File Handling, Clipboard Handling, Guides & Pasteboard, Spelling, Autocorrect, Dictionary, Japanese…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| panes | array | no | Which panes to read (default: all) |
| scope | no | — |
Change Preferences (Edit > Preferences, or InDesign > Settings on macOS), pane by pane: General (page numbering, scaling, locked objects, temporary folder), Interface (theme, tool tips, panels, hand tool, live screen drawing), Type and smart text reflow, Advanced Type, Composition highlighting and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| scope | no | — |
Rotate items 90° clockwise, 90° counter-clockwise or 180°, flip them horizontally or vertically, or clear their transformations (Object > Transform)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| operation | string | yes | What to do to each item |
Scale, shear, rotate, move or transform items by exact amounts around a reference point, optionally on a copy (Object > Transform > Scale, Rotate, Shear and Move dialogs; Rotate, Scale, Shear and Free Transform tools; Transform panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| scale | number | no | Scale proportionally (%), frame and content together |
| scaleX | number | no | Horizontal scale (%), frame and content together (Scale X) |
| scaleY | number | no | Vertical scale (%), frame and content together (Scale Y) |
| shearAngle | number | no | Shear angle (degrees), as in the Shear dialog |
| shearAxis | string | no | Axis to shear along (default horizontal) |
| rotate | number | no | Rotation angle (degrees, positive counter-clockwise) |
| matrix | array | no | A transformation matrix [a, b, c, d, tx, ty] applied in pasteboard coordinates; tx and ty in mm |
| move | object | no | Move by an offset: { x, y } in mm (Horizontal / Vertical) or { distance, angle } (mm, degrees counter-clockwise from the right) |
| moveContent | boolean | no | Move only each frame's content, not the frame (Move dialog > Move Content) |
| referencePoint | no | — | |
| referenceAt | no | — | |
| each | boolean | no | Transform each item around its own reference point instead of the items together as one selection (default false) |
| copy | boolean | no | Transform copies and leave the originals in place (the dialogs' Copy button) |
| redefineScaling | boolean | no | Afterwards, apply the items' scaling to them and show it as 100% (Transform panel menu > Redefine Scaling as 100%) |
Nudge items by the keyboard increment, or step their scale or size by 1% or 5%, as the arrow keys and scale shortcuts do (Preferences > Units & Increments > Cursor Key; Object Editing shortcuts)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| action | string | yes | Nudge in a direction; scale frame and content up or down; or resize the frame up or down |
| step | string | no | Nudge: the cursor key increment, a tenth of it, or ten times it. Scale and size: normal 1%, coarse 5%. Default normal |
| times | integer | no | How many times to repeat (default 1) |
| referencePoint | no | — |
Repeat the last transformation or sequence of transformations on items, together or each individually (Object > Transform Again)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| mode | string | yes | Transform Again, Transform Again Individually, Transform Sequence Again or Transform Sequence Again Individually |
| times | integer | no | How many times to repeat (default 1) |
Align or distribute items relative to each other, a key object, the margins, the page or the spread, optionally with a fixed spacing (Align panel; Align and Distribute shortcuts)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| align | string | no | Align Objects: which edges or centres to line up |
| distribute | string | no | Distribute Objects by edges or centres, or Distribute Spacing (horizontal_space, vertical_space) |
| alignTo | string | no | Align To: the items themselves (default), a key object, the margins, the page or the spread |
| keyObject | integer | no | Id of the key object, for alignTo key_object; defaults to the selection's key object when the target is the selection. With a selection target it also becomes the selection's key object |
| spacing | number | no | Use Spacing: a fixed distance between the items (mm) when distributing |
Set how transformations behave and are shown: Transformations are Totals, Dimensions Include Stroke Weight, Show Content Offset, When Scaling options and the reference point (Transform panel menu; Preferences > General)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| whenScaling | string | no | When Scaling: apply to content, or adjust the scaling percentage |
| referencePoint | string | no | The reference point of the active layout window (reference point proxy) |
Read the transform preferences and reference point, and optionally items' rotation, shear, scale, flip and transformation matrix (Transform panel)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | no | …. Optional: without it only the preferences are returned |
Get information about the active document (name, path, page/spread/layer counts, page size, bleed and margins in millimetres)
No parameter schema on file.
Create a new document and make it active. All measurements are in millimetres. Margins are applied to every page of the new document.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| width | number | no | Page width in mm |
| height | number | no | Page height in mm |
| pages | integer | no | Number of pages |
| facingPages | boolean | no | Enable facing pages |
| pageOrientation | string | no | Page orientation; width and height are swapped if needed to match |
| bleedTop | number | no | Top bleed in mm |
| bleedBottom | number | no | Bottom bleed in mm |
| bleedInside | number | no | Inside (left) bleed in mm |
| bleedOutside | number | no | Outside (right) bleed in mm |
| marginTop | number | no | Top margin in mm |
| marginBottom | number | no | Bottom margin in mm |
| marginLeft | number | no | Left (inside, for facing pages) margin in mm |
| marginRight | number | no | Right (outside, for facing pages) margin in mm |
Open an existing InDesign document (.indd, .indt, .idml) and make it active
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Absolute path to the document file |
Save the active document. With filePath, saves to that location (Save As); without it, saves in place (the document must have been saved before).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | no | Absolute path to save to (e.g. /Users/me/Documents/file.indd). Omit to save in place. |
Close the active document WITHOUT saving (unsaved changes are discarded)
No parameter schema on file.
Run a preflight check on the active document with a preflight profile and list the problems found (optionally saving a report)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profile | string | no | Preflight profile name, e.g. "[Basic]" (the built-in profile). Embedded document profiles are checked first, then application profiles. |
| reportPath | string | no | Optional absolute path to save the preflight report (.pdf or .txt) |
| maxResults | integer | no | Maximum number of problems to list |
| timeoutSeconds | integer | no | Maximum seconds to wait for preflight to finish |
Show a page in the document window: fit the page in the window, or zoom to a given percentage
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Zero-based page index to show |
| zoomLevel | number | no | Zoom percentage (5-4000). Omit to fit the page in the window. |
Data merge: select a CSV or tab-delimited text data source for the active document and (optionally) merge records. The document must already contain data merge placeholders for merging to succeed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| dataSource | string | yes | Absolute path to the data source file (.csv or tab-delimited .txt) |
| mergeRecords | boolean | no | Merge records after selecting the data source. If false, only selects the source and lists its fields. |
| recordSelection | string | no | Which records to merge |
| recordNumber | integer | no | Record to merge when recordSelection is ONE_RECORD |
| recordRange | string | no | Record range when recordSelection is RANGE, e.g. "1-5,8" |
| recordsPerPage | string | no | One record per page, or multiple records per page |
| createNewDocument | boolean | no | Create a new document for the merged records |
| removeBlankLines | boolean | no | Remove blank lines caused by empty fields |
List the styles of one type in the document (including styles inside style groups)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| styleType | string | no | Type of styles to list |
List the colors (with color model) and optionally the swatches, gradients and tints in the document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeSwatches | boolean | no | Include swatches |
| includeGradients | boolean | no | Include gradients |
| includeTints | boolean | no | Include tints |
Read document preferences. Measurements are reported in millimetres. Property names match set_document_preferences.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| preferenceType | string | no | Which preference group to read |
Set document preferences. Pass one or more groups (general, margins, guides, text, grid) with the properties to change. Measurements are millimetres. Margin changes are applied to the document defaults and to every existing document and master page.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| general | no | — | |
| margins | no | — | |
| guides | no | — | |
| text | no | — | |
| grid | no | — |
List the stories in the document with length, frame count, overset status and a short preview
| Parameter | Type | Required | Notes |
|---|---|---|---|
| oversetOnly | boolean | no | Only list stories whose text is overset (overflows its frames) |
| maxStories | integer | no | Maximum number of stories to list |
Find (and optionally replace) text across the entire document. Uses Text find/change, or GREP when useRegex is true.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| searchText | string | yes | Text to search for (a GREP pattern when useRegex is true) |
| replaceText | string | no | Replacement text. Omit to only find; pass "" to delete matches. |
| caseSensitive | boolean | no | Case sensitive search |
| wholeWord | boolean | no | Match whole words only |
| useRegex | boolean | no | Treat searchText as a GREP pattern (and replaceText may use $1 etc.) |
List the layers in the document (top to bottom) with visibility, lock state, printability and item count
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeHidden | boolean | no | Include hidden layers |
| includeLocked | boolean | no | Include locked layers |
Organize document layers: merge layers with duplicate names, delete empty layers, and/or sort layers alphabetically (A at top). Operations run in that order. The last remaining layer is never deleted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mergeSimilarLayers | boolean | no | Merge layers whose names are equal ignoring case, surrounding spaces and a trailing " copy" / " copy N" (default false) |
| deleteEmptyLayers | boolean | no | Delete layers that contain no page items and no guides (default false) |
| sortLayers | boolean | no | Sort layers alphabetically by name (default false) |
List the hyperlinks in the document with their sources and destinations
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeDestinations | boolean | no | Include link destinations (URL, page or text anchor) |
| includeSources | boolean | no | Include link sources (the linked text or object) |
Create a hyperlink on the first occurrence of sourceText in the document. The destination is a URL, a page, or the first occurrence of some other text (a text anchor).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sourceText | string | yes | Existing text in the document to turn into a link (first occurrence, case-sensitive) |
| linkType | string | no | Type of destination |
| destination | string | no | For URL: the URL. For TEXT: existing text in the document to link to. Not used for PAGE. |
| pageIndex | integer | no | Zero-based destination page index (required for PAGE links) |
| name | string | no | Optional hyperlink name (must be unique in the document) |
List the sections in the document with start page, numbering style, start number, prefix and marker
No parameter schema on file.
Start a new section at a page (or update the section that already starts there) with its own page numbering
| Parameter | Type | Required | Notes |
|---|---|---|---|
| startPage | integer | yes | Zero-based index of the page that starts the section |
| sectionPrefix | string | no | Section prefix |
| includeSectionPrefix | boolean | no | Include the prefix when displaying page numbers |
| marker | string | no | Section marker text |
| startNumber | integer | no | Starting page number. Omit to continue numbering from the previous section. |
| numberingStyle | string | no | Page number style (PageNumberStyle) |
Show the document XML structure: the tag list and/or the element tree (tag, attribute and child counts, text preview)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeTags | boolean | no | Include the list of XML tags |
| includeElements | boolean | no | Include the XML element tree |
| maxDepth | integer | no | Maximum element tree depth to show |
Export the document XML structure (the Structure pane content) to an XML file
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Absolute path of the XML file to write |
| includeImages | boolean | no | Copy original images into an Images folder next to the XML file |
Save the active document as an Adobe Creative Cloud document (Document.saveAsCloud / saveACopyCloud). Requires InDesign with cloud documents support and a signed-in Creative Cloud account.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cloudName | string | yes | Name for the cloud document |
| mode | string | no | SAVE_A_COPY keeps the open document as is; SAVE_AS makes the open document the cloud document |
Open an Adobe Creative Cloud document by its asset reference (app.openCloudDocument). Requires InDesign with cloud documents support and a signed-in Creative Cloud account.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cloudDocumentId | string | yes | Asset reference of the cloud document (as reported by InDesign, e.g. a urn:aaid:... identifier) |
Get the document grid and baseline grid settings (measurements in millimetres). Property names match set_document_grid_settings.
No parameter schema on file.
Set document grid and baseline grid settings (GridPreference). Pass only the properties to change. Measurements are millimetres.
No parameter schema on file.
Get Adjust Layout preferences (document) and Align & Distribute and Smart Guides preferences (application-wide). Property names match set_document_layout_preferences.
No parameter schema on file.
Set Adjust Layout preferences (stored in the document) and Align & Distribute / Smart Guides preferences (application-wide in InDesign). Pass one or more groups with the properties to change.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| adjustLayout | no | — | |
| alignDistribute | no | — | |
| smartGuides | no | — |
Check the document for problems: missing/modified links, missing fonts, missing or low-resolution images, overset text and unused styles
| Parameter | Type | Required | Notes |
|---|---|---|---|
| checkLinks | boolean | no | Report links that are missing, out of date or inaccessible |
| checkFonts | boolean | no | Report fonts that are not installed (missing, substituted, faux) |
| checkImages | boolean | no | Report placed graphics with missing/modified links and images below minImagePpi |
| minImagePpi | number | no | Minimum effective resolution for images |
| checkOverset | boolean | no | Report stories with overset text |
| checkStyles | boolean | no | Report paragraph and character styles not applied to any text |
Clean up the document by removing unused paragraph/character styles, unused swatches, empty layers and/or hidden page items. Use dryRun to list what would be removed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| removeUnusedStyles | boolean | no | Remove paragraph and character styles not applied to any text (built-in [bracketed] styles are kept) (default false) |
| removeUnusedColors | boolean | no | Remove unused swatches (built-in [bracketed] swatches are kept) (default false) |
| removeUnusedLayers | boolean | no | Remove layers with no page items and no guides (the last layer is kept) (default false) |
| removeHiddenElements | boolean | no | Remove page items that are hidden (visible = false) (default false) |
| dryRun | boolean | no | Only report what would be removed |
Set up the target document for a data merge: insert a text field placeholder into a text frame, or make a graphic frame an image or QR code field placeholder (Data Merge panel). The document needs a data source first (data_merge with mergeRecords: false); returns every placeholder in the document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | text inserts the field into text; image fills a frame with the image the record names; qr fills a frame with a QR code made from the record |
| field | string | yes | Data merge field name (a column of the data source) |
| frameId | integer | yes | For text: the text frame to insert into; for image and qr: the frame to use as the placeholder |
| offset | integer | no | For text: the insertion point within the frame text, 0-based (default: the end of the frame text) |
Set the data merge layout and content placement options and return them: Layout of Records (rows or columns first), margins and spacing between columns and rows for multiple records per page, image fitting, Center in Frame, Link Images, Remove Blank Lines and the record limit per document (Create…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layout | object | no | Multiple Record Layout |
| placement | object | no | Content Placement Options |
Merge records straight to a PDF file without creating a merged document (Data Merge panel menu > Export to PDF), with a PDF export preset and an optional overset text report
| Parameter | Type | Required | Notes |
|---|---|---|---|
| path | string | yes | The PDF file to write |
| preset | string | no | PDF export preset name |
| records | no | — | |
| recordsPerPage | string | no | One record per page, or multiple records per page (see set_data_merge_options layout) |
| oversetReportPath | string | no | A text file for the report of records whose text is overset |
Undo or redo changes to the active document, one or more steps (Edit > Undo / Redo; History panel > Step Backward / Step Forward), or list the states the History panel shows: what can be undone and redone, most recent first
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | List the history, undo or redo |
| steps | integer | no | How many steps to undo or redo |
Set Layer Options (Layers panel > Layer Options): rename, colour, show, lock, Print Layer, Suppress Text Wrap When Layer Is Hidden, Show Guides and Lock Guides
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layer | string | yes | Layer name |
| options | no | — | |
| newName | string | no | Rename the layer |
| color | string | no | Layer colour: … and the other UIColors names, or "#RRGGBB" |
Layers panel menu commands: Duplicate Layer, Show All Layers, Hide Others, Lock Others, Unlock All Layers, Select Item(s) on Layer (on a spread), and Small Panel Rows
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | The command |
| layer | string | no | The layer (for duplicate, hide_others, lock_others and select_items) |
| newName | string | no | For duplicate: name of the copy (default: InDesign's "<name> copy") |
| spreadIndex | integer | no | For select_items: the spread (default: the active spread) |
| on | boolean | no | For small_panel_rows: turn small rows on or off |
Move items to another layer, as dragging the selection square in the Layers panel does; optionally create the layer first
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| layer | string | yes | Destination layer name |
| create | boolean | no | Create the layer if it does not exist |
List the objects under each layer for a spread, as the Layers panel shows them when a layer is expanded, or rename, show, hide, lock or unlock individual objects there
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | no | List the objects, or change the given items |
| layer | string | no | For list: only this layer (default: every layer) |
| spreadIndex | integer | no | For list: the spread (default: the active spread) |
| target | no | — | |
| name | string | no | For update: new name (one item only) |
| visible | boolean | no | For update: show or hide the items |
| locked | boolean | no | For update: lock or unlock the items |
List, add, replace or remove the Autocorrect misspelled-word / correction pairs for a language, and report whether Autocorrect is on (Preferences > Autocorrect > Misspelled Word / Correction; turn Autocorrect on with set_indesign_preferences)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| language | yes | The language whose word pairs to list or edit | |
| action | string | no | For the word pairs of language: list them, add (or replace) pairs, or remove pairs by misspelled word |
| pairs | array | no | For add: [misspelled, correction] pairs; for remove: [misspelled] or [misspelled, correction] |
Edit a language's user dictionary or the document's hyphenation exceptions: list the added and removed words, add or remove words (with ~ marking hyphenation points, e.g. "data~base"), or import or export a word list as a text file with one word per line (Edit > Spelling > User Dictionary; Import…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to do |
| language | yes | — | |
| target | string | no | The user dictionary, or the hyphenation exception list stored in the active document |
| list | string | no | Added words, or removed words (words marked as not words, so they are flagged) |
| words | array | no | For add and remove: the words |
| path | string | no | For import and export: a .txt word list, one word per line |
List the languages InDesign knows with their spelling, hyphenation and thesaurus vendors (such as Hunspell, Proximity or Duden), quotation marks and dictionary paths, or set a language's vendors, double and single quotes, and add or remove Hunspell dictionary folders (Preferences > Dictionary)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | no | list languages, or set one language's options |
| nameContains | string | no | For list: only languages whose name contains this text (case-insensitive) |
| language | no | For set: the language | |
| spellingVendor | string | no | For set: spelling vendor, one of the language's spellingVendorList (e.g. "Hunspell") |
| hyphenationVendor | string | no | For set: hyphenation vendor, one of the language's hyphenationVendorList (e.g. "Duden") |
| thesaurusVendor | string | no | For set: thesaurus vendor |
| doubleQuotes | string | no | For set: opening and closing double quotes, two characters such as "“”" |
| singleQuotes | string | no | For set: opening and closing single quotes, two characters |
| addDictionaryPath | string | no | For set: a folder of Hunspell dictionary files to add for the language |
| removeDictionaryPath | string | no | For set: a dictionary folder to remove |
Assign a language to text, to paragraph or character styles, or to the document or application defaults (the application default applies to new documents: the default language dictionary), so the right spelling and hyphenation dictionaries and quotation marks are used; optionally set the Duden…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| language | yes | — | |
| target | object | yes | Where to apply it; give one or more |
| hyphenationStyle | string | no | Duden hyphenation style for the text, paragraph styles or defaults |
Change the selection: select items, Select All, Deselect All (Edit menu); Container, Content, Previous / Next Object in Group, First Object Above, Next Object Above, Next Object Below, Last Object Below (Object > Select and the object context menu); the whole group an item is in (Group Selection);…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | What to select. container, content, group and the Object > Select commands start from target if given, else from the current selection |
| target | no | — | |
| mode | string | no | For items: replace the selection, add to it, or remove from it |
| pageIndex | integer | no | For parent_item: the document page |
| parentItemId | integer | no | For parent_item: id of the item on the parent spread |
| spreadIndex | integer | no | For all_guides: the spread (default: the active spread) |
Choose the active tool in the Tools panel, such as the Selection or Direct Selection tool (which selects frame contents, path points and items inside groups), or toggle between the Selection and Direct Selection tools as the keyboard shortcut does
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tool | string | yes | The tool (UITools name), or toggle_selection_tools |
Cut, Copy, Paste, Paste without Formatting, Paste Into (into the selected frame, as a mask) or Paste in Place (Edit menu). Acts on the current selection, or selects target first; paste text at an insertion point chosen with select_text
| Parameter | Type | Required | Notes |
|---|---|---|---|
| command | string | yes | The Edit menu command |
| target | no | — |
Duplicate items with an offset, as Alt/Option-dragging or nudging with the duplicate modifier does, or make several copies at a fixed offset, optionally as a grid (Edit > Step and Repeat). The copies are made as one undoable step by default (script undo mode)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| target | yes | — | |
| mode | string | no | offset: one copy moved by dx/dy; nudge: one copy moved by the keyboard increment; step_and_repeat: count copies, or a rows x columns grid |
| dx | number | no | Horizontal offset, mm (offset and step_and_repeat) |
| dy | number | no | Vertical offset, mm (offset and step_and_repeat) |
| direction | string | no | For nudge: the arrow key direction |
| factor | string | no | For nudge: the keyboard increment, ten times it (Shift) or a tenth of it |
| count | integer | no | For step_and_repeat: number of copies (ignored when rows or columns is given) |
| rows | integer | no | For step_and_repeat as a grid: rows (dy is the vertical step) |
| columns | integer | no | For step_and_repeat as a grid: columns (dx is the horizontal step) |
| undoMode | string | no | How the copies are recorded for Undo: entire_script (one step), fast_entire_script (one step, faster, no partial undo), auto_undo (merged into the previous step), script_request (each copy is its own |
Set Clipboard Handling preferences (Preferences > Clipboard Handling: prefer PDF when pasting, copy PDF to clipboard, preserve PDF data at quit, paste text as all information or text only), Paste Remembers Layers (Layers panel menu), and drag-and-drop text editing in layout view and Story Editor…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| clipboard | no | — | |
| dragAndDrop | no | — |
Create a new InDesign book file and leave it open (fails if a file already exists at the path)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Path for the new book file (".indb" is appended if missing) |
Open an existing InDesign book (it stays open)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Path to the book file |
List the books currently open in InDesign with their file paths and document counts
No parameter schema on file.
Add an InDesign document to the end of a book and save the book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
| documentPath | string | yes | Path to the document to add |
Synchronize styles, swatches and other enabled options from the book's style source document to all documents, then save the book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
Repaginate all documents in a book and save it
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
Update all cross references in a book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
Update all numbers (page numbers, chapter numbers, paragraph numbers) in a book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
Update chapter and paragraph numbers in a book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
Export an entire book to a single file
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
| format | string | no | Export format |
| outputPath | string | yes | Path for the exported file |
| pdfPreset | string | no | PDF export preset name for format PDF (e.g. "[High Quality Print]"); default: current PDF export settings |
Package a book for print production into a folder (created if missing)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
| outputPath | string | yes | Path for the package folder |
| copyingFonts | boolean | no | Copy fonts to package |
| copyingLinkedGraphics | boolean | no | Copy linked graphics |
| copyingProfiles | boolean | no | Copy color profiles |
| updatingGraphics | boolean | no | Update graphics links |
| includingHiddenLayers | boolean | no | Include hidden layers |
| ignorePreflightErrors | boolean | no | Ignore preflight errors |
| creatingReport | boolean | no | Create package report |
| includeIdml | boolean | no | Include IDML file |
| includePdf | boolean | no | Include PDF file |
| pdfStyle | string | no | PDF export preset used when includePdf is true |
Preflight a book and save the preflight report (PDF, or text if the path ends in .txt). The report path is returned.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
| outputPath | string | no | Path for the preflight report (default: <book name>-preflight.pdf in the system temp folder) |
| autoOpen | boolean | no | Automatically open the report |
Print every document in a book with a printer preset, optionally showing the print dialog first
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
| printDialog | boolean | no | Show the print dialog and wait for the user (leave false for unattended use) |
| printerPreset | string | no | Printer preset name (e.g. "[Default]" or a saved preset), or "DEFAULT_VALUE" for the default preset |
Get detailed information about a book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
Set book options (only the ones given) and save the book
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bookPath | string | yes | Path to the book file |
| automaticPagination | boolean | no | Enable automatic pagination |
| automaticDocumentConversion | boolean | no | Enable automatic document conversion |
| insertBlankPage | boolean | no | Insert blank pages as necessary |
| mergeIdenticalLayers | boolean | no | Merge identical layers when exporting to PDF |
| synchronizeBulletNumberingList | boolean | no | Synchronize bullets and numbering |
| synchronizeCellStyle | boolean | no | Synchronize cell styles |
| synchronizeCharacterStyle | boolean | no | Synchronize character styles |
| synchronizeConditionalText | boolean | no | Synchronize conditional text |
| synchronizeCrossReferenceFormat | boolean | no | Synchronize cross reference formats |
| synchronizeMasterPage | boolean | no | Synchronize master pages |
| synchronizeObjectStyle | boolean | no | Synchronize object styles |
| synchronizeParagraphStyle | boolean | no | Synchronize paragraph styles |
| synchronizeSwatch | boolean | no | Synchronize swatches |
| synchronizeTableOfContentStyle | boolean | no | Synchronize table of content styles |
| synchronizeTableStyle | boolean | no | Synchronize table styles |
| synchronizeTextVariable | boolean | no | Synchronize text variables |
| synchronizeTrapStyle | boolean | no | Synchronize trap styles |
Create a text frame on the active page (or pageIndex). Styles are applied first; explicit formatting overrides them.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| content | string | yes | Text content for the frame |
| pageIndex | no | — | |
| x | number | no | X position in mm from the page left edge; omit position or size to have the frame placed automatically |
| y | number | no | Y position in mm from the page top edge |
| width | number | no | Width in mm |
| height | number | no | Height in mm |
| fontSize | number | no | Font size in points (default: style/document default) |
| fontName | no | — | |
| textColor | no | — | |
| alignment | no | — | |
| paragraphStyle | string | no | Paragraph style name to apply |
| characterStyle | string | no | Character style name to apply |
Edit the content and/or formatting of an existing text frame
| Parameter | Type | Required | Notes |
|---|---|---|---|
| frameIndex | integer | yes | — |
| pageIndex | no | — | |
| content | string | no | New text content (replaces existing text) |
| fontSize | number | no | Font size in points |
| fontName | no | — | |
| textColor | no | — | |
| alignment | no | — |
Find and replace literal text throughout the document (InDesign text search; metacharacters such as ^p and ^t are honored)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| findText | string | yes | Text to find |
| replaceText | string | yes | Text to replace with |
| caseSensitive | boolean | no | Case sensitive search |
| wholeWord | boolean | no | Whole word search |
Create a table in a new text frame on the active page (or pageIndex)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| rows | integer | yes | Total number of rows, including header rows |
| columns | integer | yes | Number of columns |
| pageIndex | no | — | |
| x | number | no | X position in mm from the page left edge; omitted values are placed automatically |
| y | number | no | Y position in mm from the page top edge |
| width | number | no | Frame and table width in mm |
| height | number | no | Text frame height in mm |
| headerRows | integer | no | Number of header rows (must be less than rows; default 1 when rows > 1) |
Fill table cells from a 2-D array. Tables are numbered across the text frames of the page; cells outside the table are skipped and counted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tableIndex | integer | no | Index among the tables in page.textFrames, counted frame by frame |
| pageIndex | no | — | |
| data | array | yes | Rows of cell values; null becomes an empty cell |
| startRow | integer | no | Starting row index (header rows count) |
| startColumn | integer | no | Starting column index |
Place an image file in a new frame on the active page (or pageIndex). Omit width and height to size the frame to the image.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Path to the image file |
| pageIndex | no | — | |
| x | number | no | X position in mm |
| y | number | no | Y position in mm |
| width | number | no | Frame width in mm |
| height | number | no | Frame height in mm |
| linkImage | boolean | no | Keep the image linked (false embeds it) |
| scale | number | no | Image scale percentage (1-1000); used when fitMode is NONE or the frame is sized to the image |
| fitMode | string | no | InDesign fit option applied to the frame (PROPORTIONALLY and FILL_PROPORTIONALLY also center the content); NONE keeps the placed size |
| objectStyle | string | no | Object style to apply to the frame |
Get help information about available tools and their usage
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tool | string | no | Specific tool name to get help for (optional) |
| category | string | no | Category of tools to list (optional) |
| format | string | no | Output format |
Create a rectangle on the active page (or pageIndex)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | no | — | |
| x | number | no | X position in mm from the page top-left; omitted values are placed on the page automatically |
| y | number | no | Y position in mm |
| width | number | no | Width in mm |
| height | number | no | Height in mm |
| fillColor | no | — | |
| strokeColor | no | — | |
| strokeWeight | no | — | |
| cornerRadius | number | no | Rounded corner radius in mm (0 = square corners) |
Create an ellipse on the active page (or pageIndex)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | no | — | |
| x | number | no | X position in mm from the page top-left; omitted values are placed on the page automatically |
| y | number | no | Y position in mm |
| width | number | no | Width in mm |
| height | number | no | Height in mm |
| fillColor | no | — | |
| strokeColor | no | — | |
| strokeWeight | no | — |
Create a regular polygon on the active page (or pageIndex)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | no | — | |
| x | number | no | X position in mm from the page top-left; omitted values are placed on the page automatically |
| y | number | no | Y position in mm |
| width | number | no | Width in mm |
| height | number | no | Height in mm |
| sides | integer | no | Number of sides |
| fillColor | no | — | |
| strokeColor | no | — | |
| strokeWeight | no | — |
Create an object style; only the attributes you pass are included in the style
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Object style name |
| fillColor | no | — | |
| strokeColor | no | — | |
| strokeWeight | no | — | |
| cornerRadius | number | no | Rounded corner radius in mm (0 = not included) |
| opacity | number | no | Opacity percentage (100 = fully opaque) |
List all object styles in the document
No parameter schema on file.
Apply an object style to a page item
| Parameter | Type | Required | Notes |
|---|---|---|---|
| styleName | string | yes | Object style name |
| itemType | string | no | Collection itemIndex counts in: page.rectangles, page.ovals, page.polygons, page.textFrames, or pageItem = page.allPageItems (the list_page_items numbering) |
| itemIndex | integer | no | Index within the itemType collection on the page |
| pageIndex | no | — | |
| clearOverrides | boolean | no | Clear local formatting overrides |
Get link, resolution, scale and position of a placed graphic on a page
| Parameter | Type | Required | Notes |
|---|---|---|---|
| itemIndex | integer | no | Index in page.allGraphics (placed graphics, not their frames; not the list_page_items numbering) |
| pageIndex | no | — |
Create a paragraph style; only the attributes you pass are set
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Style name |
| fontName | no | — | |
| fontSize | number | no | Font size in points |
| textColor | no | — | |
| alignment | no | — | |
| leading | number | no | Leading in points |
| spaceBefore | number | no | Space before paragraph in points |
| spaceAfter | number | no | Space after paragraph in points |
Create a character style; only the attributes you pass are set
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Style name |
| fontName | no | — | |
| fontSize | number | no | Font size in points |
| textColor | no | — | |
| bold | boolean | no | Set font style "Bold" ("Bold Italic" with italic) |
| italic | boolean | no | Set font style "Italic" |
| underline | boolean | no | Underline text |
Apply a paragraph style to all text in a text frame
| Parameter | Type | Required | Notes |
|---|---|---|---|
| styleName | string | yes | Paragraph style name |
| frameIndex | integer | yes | — |
| pageIndex | no | — |
Apply a character style to all text in a text frame, or to a character range
| Parameter | Type | Required | Notes |
|---|---|---|---|
| styleName | string | yes | Character style name |
| frameIndex | integer | no | — |
| pageIndex | no | — | |
| startIndex | integer | no | First character index (with endIndex) |
| endIndex | integer | no | Last character index (inclusive); -1 applies to the whole frame |
List all paragraph and/or character styles (including styles in style groups)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| styleType | string | no | Which styles to list |
Create a color swatch from RGB values, stored as RGB or converted to CMYK
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Swatch name |
| colorType | string | no | PROCESS for CMYK/RGB process color, SPOT for a spot (ink) color |
| colorSpace | string | no | Color space of the swatch (CMYK uses a simple, non-color-managed conversion) |
| red | number | yes | Red value (0-255) |
| green | number | yes | Green value (0-255) |
| blue | number | yes | Blue value (0-255) |
List all swatches with color model, space and values
No parameter schema on file.
Apply a swatch as fill or stroke to a page item, or to the text of a text frame
| Parameter | Type | Required | Notes |
|---|---|---|---|
| itemIndex | integer | yes | Index within the targetType collection on the page (see targetType) |
| colorName | yes | — | |
| colorType | string | no | Apply the swatch to the fill or the stroke |
| targetType | string | no | Collection itemIndex counts in: pageItem = page.allPageItems (the list_page_items numbering); text and textFrame = page.textFrames (text = the text inside the frame); rectangle, ellipse, polygon = pag |
| pageIndex | no | — |
Export the active document to PDF using a built-in or named PDF export preset
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Output PDF file path |
| quality | string | no | Preset shortcut: PRESS = [Press Quality], PRINT = [High Quality Print], SCREEN = [Smallest File Size] |
| preset | string | no | Exact PDF export preset name (e.g. "[PDF/X-4:2008]"); overrides quality |
| includeMarks | boolean | no | Force crop, bleed and registration marks, color bars and page info on (otherwise the preset decides) |
| includeBleed | boolean | no | Force the document bleed settings on (otherwise the preset decides) |
| pages | no | — |
Export pages as JPEG or PNG images, one file per page (page_<n>.jpg/png) in an output folder
| Parameter | Type | Required | Notes |
|---|---|---|---|
| outputPath | string | yes | Output folder path (created if missing) |
| format | string | no | Image format; InDesign exports JPEG and PNG |
| resolution | number | no | Resolution in PPI (1-2400) |
| pages | no | — | |
| quality | number | no | Quality 1-100, mapped to LOW (<=25), MEDIUM (<=50), HIGH (<=80) or MAXIMUM |
Export the active document to EPUB (reflowable or fixed layout)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| filePath | string | yes | Output EPUB file path |
| layout | string | no | REFLOWABLE text that adapts to the reader, or FIXED_LAYOUT that keeps each page as designed |
| includeStyles | boolean | no | Reflowable only: generate CSS and include style class names in the HTML |
| embedFonts | boolean | no | Reflowable only: embed fonts |
| title | string | no | EPUB title metadata (defaults to the document setting) |
Package the active (saved) document for printing into an output folder
| Parameter | Type | Required | Notes |
|---|---|---|---|
| outputPath | string | yes | Output folder path (created if missing) |
| includeFonts | boolean | no | Copy fonts |
| includeLinks | boolean | no | Copy linked graphics |
| includeProfiles | boolean | no | Copy color profiles |
| includeHiddenLayers | boolean | no | Include fonts and links from hidden layers |
| createReport | boolean | no | Write the instructions/report file |
| forceSave | boolean | no | Save the document before packaging if it has unsaved changes |
Create a new layer in the active document (fails if a layer with that name exists)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Layer name |
| visible | boolean | no | Layer visibility |
| locked | boolean | no | Layer locked state |
| color | string | no | Layer color: a UIColors name (e.g. BLUE, LIGHT_BLUE, RED) or "R,G,B" with each value 0-255 |
Make an existing layer the active layer of the active document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| layerName | string | yes | Layer name to activate |
List all layers in the active document (top of the stack first) with visibility, lock, printable, color, item and guide counts
No parameter schema on file.
Create a new master spread. Its full name is namePrefix + "-" + baseName (e.g. "B-Chapter").
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Master name; used as the base name unless baseName is given |
| baseName | string | no | Base name (overrides name) |
| namePrefix | string | no | Prefix shown on pages using this master (e.g. "B"); InDesign assigns one if omitted |
| pagesPerSpread | integer | no | Pages in the master spread (default: document setting) |
| pageColor | string | no | Pages-panel color: UI color name (e.g. "BLUE", "LIGHT_BLUE", "GRID_GREEN") or "r,g,b" (0-255), "USE_MASTER_COLOR" or "NOTHING" |
| showMasterItems | boolean | no | Show master items on document pages |
List all master spreads in the document
No parameter schema on file.
Delete a master spread (pages that used it are left with no master)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Full master spread name to delete (e.g. "B-Master") |
Duplicate a master spread; the copy gets newName as its base name (InDesign assigns a new prefix)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Full name of the master spread to duplicate (e.g. "A-Master") |
| newName | string | yes | Base name for the duplicated master spread |
| position | string | no | Where to put the copy among the masters: AT_END, AT_BEGINNING, or BEFORE/AFTER the reference master |
| referenceMasterName | string | no | Full name of the reference master spread (required for BEFORE/AFTER) |
Apply a master spread to document pages. Use masterName "None" to remove the master.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| masterName | string | yes | Full master spread name (e.g. "A-Master"), or "None" |
| pageRange | string | no | 1-based page positions in document order: "all", "3", "1-5" or "1,3,7-9" |
Create a text frame on a page of a master spread. Position and size are in mm from that master page's top-left corner.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| masterName | string | yes | Full master spread name (e.g. "A-Master") |
| masterPageIndex | integer | no | 0-based page within the master spread (0 = left/first page) |
| content | string | yes | Text content for the frame |
| x | number | no | X position in mm |
| y | number | no | Y position in mm |
| width | number | no | Width in mm |
| height | number | no | Height in mm |
| fontSize | number | no | Font size in points |
| fontName | string | no | Font as "Family Style" (e.g. "Arial Bold", InDesign's Font.name) or a family name |
| textColor | string | no | Text color: swatch name in the document (e.g. "Black", "Paper", "None") or "#RRGGBB" |
| alignment | string | no | Paragraph alignment for the frame text (InDesign Justification; LEFT_JUSTIFIED = justified, last line left) |
| isPrimaryTextFrame | boolean | no | Make this the master spread's primary text frame |
Create a rectangle on a page of a master spread. Position and size are in mm from that master page's top-left corner.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| masterName | string | yes | Full master spread name (e.g. "A-Master") |
| masterPageIndex | integer | no | 0-based page within the master spread |
| x | number | yes | X position in mm |
| y | number | yes | Y position in mm |
| width | number | yes | Width in mm |
| height | number | yes | Height in mm |
| fillColor | string | no | Fill: swatch name in the document (e.g. "Black", "Paper", "None") or "#RRGGBB" (default: document default) |
| strokeColor | string | no | Stroke: swatch name in the document (e.g. "Black", "Paper", "None") or "#RRGGBB" (default: document default) |
| strokeWeight | number | no | Stroke weight in points |
| cornerRadius | number | no | Rounded-corner radius in mm (0 = square corners) |
Create row/column guides on every page of a master spread (MasterSpread.createGuides)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| masterName | string | yes | Full master spread name (e.g. "A-Master") |
| numberOfRows | integer | no | Number of rows per page |
| numberOfColumns | integer | no | Number of columns per page |
| rowGutter | number | no | Row gutter in mm |
| columnGutter | number | no | Column gutter in mm |
| guideColor | string | no | Guide color: UI color name (e.g. "BLUE", "LIGHT_BLUE", "GRID_GREEN") or "r,g,b" (0-255) |
| fitMargins | boolean | no | Divide the area inside the margins (true) or the whole page (false) |
| removeExisting | boolean | no | Remove existing guides first |
| layerName | string | no | Layer to create guides on (default: active layer) |
Get detailed information about a master spread
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | yes | Full master spread name (e.g. "A-Master") |
Detach master page items onto a document page: each master item is overridden onto the page and the copy is detached so it no longer follows the master. Without itemIndex, all master items shown on the page (and items already overridden there) are detached.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based document page index |
| itemIndex | integer | no | 0-based index into the page's master items (Page.masterPageItems); omit to detach all |
Remove local overrides from master items on a document page, restoring the master version. Without itemIndex, all overrides on the page are removed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based document page index |
| itemIndex | integer | no | 0-based index among the page's overridden master items (top-level page items first, then guides); omit to remove all |
Add a page to the active document at the end, the beginning, or before/after a given page; returns the new page count
| Parameter | Type | Required | Notes |
|---|---|---|---|
| position | string | no | Where to add the page: AT_END, AT_BEGINNING, or BEFORE/AFTER referencePage |
| referencePage | integer | no | 0-based reference page index (required for BEFORE/AFTER) |
Delete a page from the document (the only page cannot be deleted)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based index of the page to delete |
Duplicate a page and put the copy at the given position in the document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based index of the page to duplicate |
| position | string | no | Where to put the copy |
| referencePageIndex | integer | no | 0-based reference page index (required for BEFORE/AFTER) |
Navigate to a page: make it the active page of the document's layout window
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based index of the page to navigate to |
Get detailed information about a specific page
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
Move a page to a different position in the document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based index of the page to move |
| position | string | no | Where to move the page: AT_END, AT_BEGINNING, or BEFORE/AFTER referencePage |
| referencePageIndex | integer | no | 0-based reference page index (required for BEFORE/AFTER; must differ from pageIndex) |
| binding | string | no | Location of the binding spine in the spread (BindingOptions) |
Set properties for a page (only the properties given are changed)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| label | string | no | Page label |
| pageColor | string | no | Page color shown in the Pages panel: UI color name (e.g. "BLUE", "LIGHT_BLUE"), "r,g,b" (0-255), "USE_MASTER_COLOR" or "NOTHING" |
| optionalPage | boolean | no | Optional page for HTML5 pagination |
| layoutRule | string | no | Liquid layout rule (LayoutRuleOptions) |
| snapshotBlendingMode | string | no | Snapshot blending mode (SnapshotBlendingModes) |
| appliedTrapPreset | string | no | Name of an existing trap preset to apply |
Adjust a page's size and margins with InDesign's Adjust Layout (content is repositioned/scaled to follow). Bleed values are a document setting and are applied to the whole document. All values use the given units.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| units | string | no | Units for all values below |
| width | number | no | New page width |
| height | number | no | New page height |
| bleedInside | number | no | Inside (left) bleed, document-wide |
| bleedTop | number | no | Top bleed, document-wide |
| bleedOutside | number | no | Outside (right) bleed, document-wide |
| bleedBottom | number | no | Bottom bleed, document-wide |
| leftMargin | number | no | Left margin |
| topMargin | number | no | Top margin |
| rightMargin | number | no | Right margin |
| bottomMargin | number | no | Bottom margin |
Resize a page (Page.resize). With REPLACING/ADDING, width and height are lengths in mm; with MULTIPLYING they are scale factors; with RESHAPING_* they are a width:height ratio.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| width | number | yes | Width value (mm, factor or ratio part depending on resizeMethod) |
| height | number | yes | Height value (mm, factor or ratio part depending on resizeMethod) |
| resizeMethod | string | no | How width and height are applied: replace the size (default), multiply it, add to it, or reshape to a ratio |
| anchorPoint | string | no | Point of the page that stays fixed while it resizes |
| coordinateSpace | string | no | Coordinate space the size is measured in; PAGE_COORDINATES unless you need another |
Place a file (image, PDF, text, InDesign snippet, ...) on a page. x/y are measured in mm from the page's top-left corner.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| filePath | string | yes | Path to file to place |
| x | number | no | X position in mm |
| y | number | no | Y position in mm |
| layerName | string | no | Layer to place on (default: active layer) |
| showingOptions | boolean | no | Show import options dialog |
| autoflowing | boolean | no | Autoflow placed text |
Place an XML element (the first element whose tag matches xmlElementName) on a page. x/y are measured in mm from the page's top-left corner.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| xmlElementName | string | yes | Tag name of the XML element to place |
| x | number | no | X position in mm |
| y | number | no | Y position in mm |
| autoflowing | boolean | no | Autoflow placed text |
Create a liquid-layout snapshot of the page layout for its current size and shape
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
Delete the page's layout snapshot for its current size and shape
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
Delete all layout snapshots for a page
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
Reframe a page: set its bounding box from two opposing corners, in mm in the given coordinate space
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| x1 | number | yes | Top-left X coordinate in mm |
| y1 | number | yes | Top-left Y coordinate in mm |
| x2 | number | yes | Bottom-right X coordinate in mm |
| y2 | number | yes | Bottom-right Y coordinate in mm |
| coordinateSpace | string | no | Coordinate space of the corner coordinates; PAGE_COORDINATES unless you need another |
Create row/column guides on one page (like Layout > Create Guides, limited to this page)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| numberOfRows | integer | no | Number of rows (2+ creates horizontal guides) |
| numberOfColumns | integer | no | Number of columns (2+ creates vertical guides) |
| rowGutter | number | no | Row gutter in mm |
| columnGutter | number | no | Column gutter in mm |
| guideColor | string | no | Guide color: UI color name (e.g. "BLUE", "GRID_GREEN") or "r,g,b" (0-255) |
| fitMargins | boolean | no | Divide the area inside the margins (true) or the whole page (false) |
| removeExisting | boolean | no | Remove the page's existing guides first |
| layerName | string | no | Layer to create the guides on (default: active layer) |
Select a page in the active document (for example before running a command that acts on the selection)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
| selectionMode | string | no | REPLACE_WITH replaces the selection; ADD_TO / REMOVE_FROM change it; SET_KEY makes the page the key object |
Summarize what is on a page: counts of text frames, rectangles, ovals, polygons, lines, groups, placed graphics, guides and master items
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | 0-based page index |
Set a page background: adds a full-page rectangle filled with a swatch, sent to the back of its layer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | no | 0-based page index (default 0, the first page) |
| backgroundColor | string | no | Swatch name in the document (e.g. "Paper", "Black", a custom swatch); "White" falls back to "Paper" |
| opacity | number | no | Background opacity percentage (0-100) |
Get detailed information about a specific page item
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to get info for, in page.allPageItems as numbered by list_page_items (nested items included) |
Select a page item (by index from list_page_items) in the document window
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to select, in page.allPageItems as numbered by list_page_items (nested items included) |
| existingSelection | string | no | How to handle existing selection |
Move a page item so its top-left corner (geometric bounds) is at x, y mm on the page
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to move, in page.allPageItems as numbered by list_page_items (nested items included) |
| x | number | yes | New X of the item's top-left corner, in mm from the page left edge |
| y | number | yes | New Y of the item's top-left corner, in mm from the page top edge |
Resize a page item to width x height mm around an anchor point
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to resize, in page.allPageItems as numbered by list_page_items (nested items included) |
| width | number | yes | New width in mm |
| height | number | yes | New height in mm |
| anchorPoint | string | no | Anchor point for resizing |
Set fill, stroke, visibility and lock state of a page item (only the properties you pass are changed)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to modify, in page.allPageItems as numbered by list_page_items (nested items included) |
| fillColor | string | no | Fill swatch name (e.g. "Black", "None") or "#RRGGBB" |
| strokeColor | string | no | Stroke swatch name or "#RRGGBB" |
| strokeWeight | number | no | Stroke weight in points |
| visible | boolean | no | Whether the item is visible |
| locked | boolean | no | Whether the item is locked |
Duplicate a page item on the same page, optionally placing the copy at x/y; returns the copy ID
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to duplicate, in page.allPageItems as numbered by list_page_items (nested items included) |
| x | number | yes | X of the duplicate's top-left corner, in mm from the page left edge |
| y | number | yes | Y of the duplicate's top-left corner, in mm from the page top edge |
Delete a page item (by index from list_page_items) from a page
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the item (0-based) |
| itemIndex | integer | yes | Index of the page item to delete, in page.allPageItems as numbered by list_page_items (nested items included) |
List the page items on a page with their index in page.allPageItems (nested items included, such as the image inside a frame and group members). itemIndex and groupIndex in the page-item and group tools use this numbering.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page to list items from (0-based) |
Group the page items currently selected in InDesign (at least 2)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page where the group will be created (0-based) |
Create a group from specific page items by their indices
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the items (0-based) |
| itemIndices | array | yes | Indices (from list_page_items) of top-level items to group together |
Ungroup a group, releasing all its items
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the group (0-based) |
| groupIndex | integer | yes | Index of the group to ungroup, as numbered by list_groups (its index in page.allPageItems) |
Get information about a group, including its direct members and their indices
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the group (0-based) |
| groupIndex | integer | yes | Index of the group to get info for, as numbered by list_groups (its index in page.allPageItems) |
Add a top-level page item to an existing group (the group is rebuilt: it keeps its name but gets a new ID and index)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the group and item (0-based) |
| groupIndex | integer | yes | Index of the group to add the item to, as numbered by list_groups (its index in page.allPageItems) |
| itemIndex | integer | yes | Index of the page item to add to the group, in page.allPageItems as numbered by list_page_items (nested items included) |
Remove a member from a group (the group is rebuilt with the remaining members, or dissolved if fewer than 2 remain)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the group (0-based) |
| groupIndex | integer | yes | Index of the group to remove the item from, as numbered by list_groups (its index in page.allPageItems) |
| itemIndex | integer | yes | Index of the member within the group (group.pageItems), as listed by get_group_info; not the list_page_items numbering |
List the groups on a page with their index, name, item count and bounds
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page to list groups from (0-based) |
Set a group's name, visibility and locked state
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pageIndex | integer | yes | Index of the page containing the group (0-based) |
| groupIndex | integer | yes | Index of the group to modify, as numbered by list_groups (its index in page.allPageItems) |
| visible | boolean | no | Whether the group is visible |
| locked | boolean | no | Whether the group is locked |
| name | string | no | Name for the group |
List all spreads in the active document with their pages, applied master, item count and label
No parameter schema on file.
Get detailed information about a spread: pages, applied master, page shuffle, master item visibility, page transition, item and guide counts
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index (0-based) |
Duplicate a spread (Spread.duplicate) and place the copy at the given location in the document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index to duplicate (0-based) |
| position | string | no | Where to put the copy (LocationOptions) |
| referenceSpreadIndex | integer | no | Reference spread index (0-based); required for BEFORE/AFTER |
Move a spread (Spread.move) to a different position in the document
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index to move (0-based) |
| position | string | no | Destination (LocationOptions) |
| referenceSpreadIndex | integer | no | Reference spread index (0-based); required for BEFORE/AFTER, must differ from spreadIndex |
Delete a spread and all its pages. The last remaining spread cannot be deleted.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index to delete (0-based) |
Set writable properties of a spread. Only the properties you pass are changed; each is applied independently and any rejected value is reported.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index (0-based) |
| name | string | no | Spread name (InDesign treats this as an alias of the spread's label) |
| label | string | no | Script label (any string) |
| allowPageShuffle | boolean | no | If true, the spread holds at most two pages when pages are added; if false, pages can be added or moved into this existing spread |
| showMasterItems | boolean | no | Display master page items on the pages of this spread |
| pageTransitionType | string | no | Page transition type (PageTransitionTypeOptions), used in SWF/interactive PDF export |
| pageTransitionDirection | string | no | Page transition direction (PageTransitionDirectionOptions); must be one the chosen transition type supports |
| pageTransitionDuration | string | no | Page transition duration (PageTransitionDurationOptions) |
Create row/column guides on every page of a spread (Spread.createGuides). Set numberOfRows and/or numberOfColumns above 0; with both 0 nothing is created (the result reports the guide count before and after).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index (0-based) |
| numberOfRows | number | no | Number of rows to create on each page (0-100) |
| numberOfColumns | number | no | Number of columns to create on each page (0-100) |
| rowGutter | number | no | Row gutter in mm |
| columnGutter | number | no | Column gutter in mm |
| guideColor | string | no | Guide color: a UIColors name (e.g. BLUE, LIGHT_BLUE, GRID_GREEN) or "R,G,B" with each value 0-255 |
| fitMargins | boolean | no | If true, rows/columns divide the area inside the page margins; if false, the full page |
| removeExisting | boolean | no | Remove existing guides when creating the new ones |
| layerName | string | no | Name of an existing layer to create the guides on (default: active layer) |
Place a file (image, PDF, text, InDesign snippet...) on a spread at a point (Spread.place)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index (0-based) |
| filePath | string | yes | Absolute path to the file to place (must be inside the allowed directories) |
| x | number | no | X of the place point in mm, measured from the ruler origin (spread origin by default) |
| y | number | no | Y of the place point in mm, measured from the ruler origin |
| layerName | string | no | Name of an existing layer to place on (default: active layer) |
| showingOptions | boolean | no | Show the import options dialog (modal: blocks until a user closes it in InDesign) |
| autoflowing | boolean | no | Autoflow placed text |
Place an element of the document's XML structure on a spread (Spread.placeXML). The element is found by tag name, searching the structure depth-first from the root.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index (0-based) |
| xmlElementName | string | yes | Tag name (markup tag) of the XML element to place |
| matchIndex | integer | no | Which element to use when several have this tag (0-based, document order) |
| x | number | no | X of the place point in mm, measured from the ruler origin |
| y | number | no | Y of the place point in mm, measured from the ruler origin |
| autoflowing | boolean | no | Autoflow placed text |
Select a spread (Spread.select) and optionally make it the active spread in the layout window
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index to select (0-based) |
| selectionMode | string | no | How the selection relates to the existing selection (SelectionOptions) |
| makeActive | boolean | no | Also make it the layout window's active spread (scrolls it into view) |
Summarize the content of a spread: item counts by type, overset text frames, placed graphics with link status, and items per layer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| spreadIndex | integer | yes | Spread index (0-based) |
Health check: platform, resolved InDesign app name, optional live probe (version, open docs). Call with probe=true to round-trip a script; on the UXP backend it also reports backend.uxpProbe, how this InDesign's UXP DOM differs from ExtendScript, with any problems found.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| probe | boolean | no | If true, run a lightweight InDesign script to report version and open documents (and, on the UXP backend, the UXP capability probe) |
Execute custom InDesign ExtendScript code
| Parameter | Type | Required | Notes |
|---|---|---|---|
| code | string | yes | ExtendScript code to execute |
View document information and current state
No parameter schema on file.
Get current session information including page dimensions and active document
No parameter schema on file.
Clear all session data including page dimensions and document information
No parameter schema on file.
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under MIT
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Adobe InDesign MCP or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | high | capability blast radius (high) — client exposure if the model is manipulated | −6 |
| verification-discount | source | publisher verification (provenance) — cryptographic build provenance ties the artifact to its source | −0 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
No tools were enumerated, so prompt-injection, capability and toxic-flow analysis had no tool surface to inspect. To grade a package’s real runtime tools, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. high is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| No per-tool rows for this release — see the note below. | ||
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
Always latest — the install command names no version, so it installs the newest release when it runs; the current release on file is 2.5.0. Pin a release below and the command asks for exactly that one.
No release note was published with this version.
- The version this listing was on when mcprush began following its releases. The registry was not asked when it shipped, so this row carries no date.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Adobe InDesign MCP can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.