Elements
A page element is anything that appears on a page — a text block, an image, a shape, a table, a group. All elements share a common set of baseline properties (identity, geometry, fill, stroke, shadow, opacity, blend mode). The type field on every element determines which additional, type-specific fields are present.
Element Types
There are 10 element types:
type | Description |
|---|---|
group | A container grouping other elements |
circle | Circle / ellipse |
roundedrect | Rectangle with optional corner radius |
triangle | Triangle |
line | Line segment |
image | Raster image |
table | Tabular layout |
rich | Rich-text block with inline formatting |
path | Arbitrary SVG-style path |
poly | Polygon |
circelOlder documents may carry the misspelled circel as their circle type. It is still read as circle, and written as circle (see Older key names).
Shared Properties
Every element carries this baseline (abbreviated list):
Identity & Naming
index(numeric, a counter within the spread),uuid(UUID, what a reference to the element names),name
Geometry
native_rect— authoritative bounds, in mmangle— rotationnative_rotation_center_x,native_rotation_center_y— rotation centerflip_horizontal,flip_vertical— mirroring
Fill, Stroke & Gradient
Elements reference swatches the same way spreads do:
fill_swatch_uuid,fill_tint— solid fillstroke_swatch_uuid,stroke_tint,native_stroke_width,stroke_dash— bordernative_gradient_fill_start,native_gradient_fill_length,gradient_fill_angle— gradient fillnative_gradient_stroke_start,native_gradient_stroke_length,gradient_stroke_angle— gradient stroke
Shadows
has_shadow(bool),shadow_swatch_uuid,shadow_anglenative_shadow_length,native_shadow_offset_x,native_shadow_offset_y,native_shadow_blur
Blend & Opacity
opacity(0–1)blend_mode— one of 26 blend modes (see below)
Behavior & State
is_locked,is_hiddenoverflow— for text that runs on from one frame into the next:previous_element_uuid,next_element_uuidauto_layout— auto-layout container configuration (for groups that behave as layouts)auto_size— auto-resizing rulestext_wrap— text in frames below this element flows around itlayer_info— the element's place in the editor's layer paneledit_options,edit_constraints— what a customer may change on the element, and within which limits. Present only when the document restricts the element.user_data— free-form data of your own; Typograph stores it and does not read it
Blend Modes
The blend_mode field accepts 26 values mirroring the canvas compositing operations:
color, color-burn, color-dodge, copy, darken, destination-atop, destination-in,
destination-out, destination-over, difference, exclusion, hard-light, hue, lighten,
lighter, luminosity, multiply, overlay, saturation, screen, soft-light,
source-atop, source-in, source-out, source-over, xor
Any other value is rejected by the validator.
Type-Specific Fields
Each subclass adds its own fields — for example:
imageelements holdimage_id, theidof the image in the manifest, plus crop, scale, and color-correction fieldsrichelements hold their text as astory, font settings (font_name,font_size,font_style,default_font), and theirtagstableelements hold row/column structure and per-cell style
For the exact field set of each element type, send a sample payload to POST /v1/document/validate — the returned violations pinpoint any missing or misnamed fields.