Skip to main content

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:

typeDescription
groupA container grouping other elements
circleCircle / ellipse
roundedrectRectangle with optional corner radius
triangleTriangle
lineLine segment
imageRaster image
tableTabular layout
richRich-text block with inline formatting
pathArbitrary SVG-style path
polyPolygon
Older value circel

Older 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 mm
  • angle — rotation
  • native_rotation_center_x, native_rotation_center_y — rotation center
  • flip_horizontal, flip_vertical — mirroring

Fill, Stroke & Gradient​

Elements reference swatches the same way spreads do:

  • fill_swatch_uuid, fill_tint — solid fill
  • stroke_swatch_uuid, stroke_tint, native_stroke_width, stroke_dash — border
  • native_gradient_fill_start, native_gradient_fill_length, gradient_fill_angle — gradient fill
  • native_gradient_stroke_start, native_gradient_stroke_length, gradient_stroke_angle — gradient stroke

Shadows​

  • has_shadow (bool), shadow_swatch_uuid, shadow_angle
  • native_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_hidden
  • overflow — for text that runs on from one frame into the next: previous_element_uuid, next_element_uuid
  • auto_layout — auto-layout container configuration (for groups that behave as layouts)
  • auto_size — auto-resizing rules
  • text_wrap — text in frames below this element flows around it
  • layer_info — the element's place in the editor's layer panel
  • edit_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:

  • image elements hold image_id, the id of the image in the manifest, plus crop, scale, and color-correction fields
  • rich elements hold their text as a story, font settings (font_name, font_size, font_style, default_font), and their tags
  • table elements 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.