Skip to main content

Property types

Some of the properties mentioned in the Node types section are custom Figma types. We've outlined the specifics of each of these property types below.

Property typeDescription

Color

An RGBA color.

An RGBA color.

rNumber
Red channel value, between 0 and 1
gNumber
Green channel value, between 0 and 1
bNumber
Blue channel value, between 0 and 1
aNumber
Alpha channel value, between 0 and 1

RGBColor

An RGB color.

An RGB color.

rNumber
Red channel value, between 0 and 1
gNumber
Green channel value, between 0 and 1
bNumber
Blue channel value, between 0 and 1

ExportSetting

Format and size to export an asset at.

suffixString
File suffix to append to all filenames
formatString

Image type, as a string enum.

  • JPG
  • PNG
  • SVG
constraintConstraint
Constraint that determines sizing of exported asset

Constraint

Sizing constraint for exports.

typeString

Constraint type, as a string enum.

  • SCALE: Scale by value.
  • WIDTH: Scale proportionally and set width to value.
  • HEIGHT: Scale proportionally and set height to value.
valueNumber
See type property for effect of this field.

Rectangle

A rectangle that expresses a bounding box in absolute coordinates.

xNumber
X coordinate of top left corner of the rectangle.
yNumber
Y coordinate of top left corner of the rectangle.
widthNumber
Width of the rectangle.
heightNumber
Height of the rectangle.

ArcData

Information about the arc properties of an ellipse. 0° is the x axis and increasing angles rotate clockwise.

startingAngleNumber
Start of the sweep in radians.
endingAngleNumber
End of the sweep in radians.
innerRadiusNumber
Inner radius value between 0 and 1.

BlendMode

Enum describing how layer blends with layers below.

This type is a string enum with the following possible values.

Normal blends:

  • PASS_THROUGH (only applicable to objects with children)
  • NORMAL

Darken:

  • DARKEN
  • MULTIPLY
  • LINEAR_BURN ("Plus darker" in Figma)
  • COLOR_BURN

Lighten:

  • LIGHTEN
  • SCREEN
  • LINEAR_DODGE ("Plus lighter" in Figma)
  • COLOR_DODGE

Contrast:

  • OVERLAY
  • SOFT_LIGHT
  • HARD_LIGHT

Inversion:

  • DIFFERENCE
  • EXCLUSION

Component:

  • HUE
  • SATURATION
  • COLOR
  • LUMINOSITY

MaskType

Enum describing how mask layer operates on the pixels of the layers it masks.

This type is a string enum with the following possible values:

  • ALPHA: The mask node's alpha channel will be used to determine the opacity of each pixel in the masked result.
  • VECTOR: If the mask node has visible fill paints, every pixel inside the node's fill regions will be fully visible in the masked result. If the mask has visible stroke paints, every pixel inside the node's stroke regions will be fully visible in the masked result.
  • LUMINANCE: The luminance value of each pixel of the mask node will be used to determine the opacity of that pixel in the masked result.

EasingType

Enum describing animation easing curves.

This type is a string enum with the following possible values:

  • EASE_IN: Ease in with an animation curve similar to CSS ease-in.
  • EASE_OUT: Ease out with an animation curve similar to CSS ease-out.
  • EASE_IN_AND_OUT: Ease in and then out with an animation curve similar to CSS ease-in-out.
  • LINEAR: No easing, similar to CSS linear.
  • GENTLE_SPRING: Gentle spring animation similar to react-spring.

FlowStartingPoint

A flow starting point used when launching a prototype to enter Presentation view.

nodeIdString
Unique identifier specifying the frame.
nameString
Name of flow.

LayoutConstraint

Layout constraint relative to containing Frame.

verticalString

Vertical constraint, as a string enum.

  • TOP: Node is laid out relative to top of the containing frame.
  • BOTTOM: Node is laid out relative to bottom of the containing frame.
  • CENTER: Node is vertically centered relative to containing frame.
  • TOP_BOTTOM: Both top and bottom of node are constrained relative to containing frame (node stretches with frame).
  • SCALE: Node scales vertically with containing frame.
horizontalString

Horizontal constraint, as a string enum.

  • LEFT: Node is laid out relative to left of the containing frame.
  • RIGHT: Node is laid out relative to right of the containing frame.
  • CENTER: Node is horizontally centered relative to containing frame.
  • LEFT_RIGHT: Both left and right of node are constrained relative to containing frame (node stretches with frame).
  • SCALE: Node scales horizontally with containing frame.

LayoutGrid

Guides to align and place objects within a frame.

patternString

Orientation of the grid, as a string enum.

  • COLUMNS: Vertical grid.
  • ROWS: Horizontal grid.
  • GRID: Square grid.
sectionSizeNumber
Width of column grid or height of row grid or square grid spacing.
visibleBoolean
Is the grid currently visible?
colorColor
Color of the grid.

The following properties are only meaningful for directional grids (COLUMNS or ROWS)

alignmentString

Positioning of grid, as a string enum.

  • MIN: Grid starts at the left or top of the frame.
  • STRETCH: Grid is stretched to fit the frame.
  • CENTER: Grid is center aligned.
gutterSizeNumber
Spacing in between columns and rows.
offsetNumber
Spacing before the first column or row.
countNumber
Number of columns or rows.
boundVariablesMap<String, VariableAlias>
A mapping of field to the VariableAlias of the bound variable.

Effect

A visual effect such as a shadow, blur, texture, or noise

typeString

Effect type, as a string enum.

  • INNER_SHADOW
  • DROP_SHADOW
  • LAYER_BLUR
  • BACKGROUND_BLUR
  • TEXTURE
  • NOISE
visibleBoolean
Is the effect active?
radiusNumber
Radius of the blur, shadow, or texture effect. For progressive blurs, this is the end radius of the blur.
blendModeBlendMode
Blend mode of the shadow or noise effect.

The following properties are for blur effects only:

blurTypeStringbeta

Blur type, as a string enum.

  • NORMAL
  • PROGRESSIVE

The following properties are for progressive blur effects only:

startRadiusNumberbeta
Radius of the starting point of the progressive blur.
startOffsetVectorbeta
Position of the starting point of the progressive blur. The position is in normalized object space (top left corner of the bounding box of the object is (0, 0) and the bottom right is (1,1)).
endOffsetVectorbeta
Position of the ending point of the progressive blur. The position is in normalized object space (top left corner of the bounding box of the object is (0, 0) and the bottom right is (1,1)).

The following properties are for shadows only:

colorColor
The color of the shadow.
offsetVector
How far the shadow is projected in the x and y directions.
spreadNumberdefault: 0
How far the shadow spreads.
showShadowBehindNodeBoolean
Whether to show the shadow behind translucent or transparent pixels (applies only to drop shadows).
boundVariablesMap<String, VariableAlias>
A mapping of field to the VariableAlias of the bound variable.

The following properties are for texture and noise effects only:

noiseSizeNumberbeta
Size of the noise effect.
noiseTypeStringbeta

Type of noise effect, as a string enum.

  • MONOTONE
  • DUOTONE
  • MULTITONE
densityNumberbeta
Density of the noise effect.

For duotone noise effects:

secondaryColorColorbeta
Secondary color of the noise effect.

For multitone noise effects:

opacityNumberbeta
Opacity of the noise effect.

The following properties are for texture effects only:

clipToShapeBooleanbeta
Whether the texture is clipped to the shape.

A link to either a URL or another frame (node) in the document.

typeString

Type of hyperlink, as a string enum.

  • URL
  • NODE
urlString
URL being linked to, if type is URL.
nodeIDString
ID of frame hyperlink points to, if type is NODE.

A link to documentation for a component.

uriString
Should be a valid URI (e.g. https://www.figma.com).

Paint

A solid color, gradient, image, or pattern that can be applied as fills or strokes.

typeString

Type of paint, as a string enum.

  • SOLID
  • GRADIENT_LINEAR
  • GRADIENT_RADIAL
  • GRADIENT_ANGULAR
  • GRADIENT_DIAMOND
  • IMAGE
  • EMOJI
  • VIDEO
  • PATTERN
visibleBooleandefault: true
Is the paint enabled?
opacityNumberdefault: 1
Overall opacity of paint (colors within the paint can also have opacity values which would blend with this).
blendModeBlendMode
How this node blends with nodes behind it in the scene (see blend mode section for more details).

For solid paints:

colorColor
Solid color of the paint.
boundVariablesMap<String, VariableAlias>
A mapping of field to the VariableAlias of the bound variable.

For gradient paints:

gradientHandlePositionsVector[]

This field contains three vectors, each of which are a position in normalized object space (normalized object space is if the top left corner of the bounding box of the object is (0, 0) and the bottom right is (1,1)). The first position corresponds to the start of the gradient (value 0 for the purposes of calculating gradient stops), the second position is the end of the gradient (value 1), and the third handle position determines the width of the gradient. See image examples below:

Linear gradient in a square. Where the gradient is lightest at the top and becomes darker as it moves downwards. First position is at the top edge of the square, in the middle of the edge and the third position is at the top left corner of the square.Angular gradient in a square. Where there is an anchor at the centre of the square and the gradient color changes as it circles around the anchor at the centre. The darkest and lightest parts of the gradient are adjacent. The first position is the anchor at the centre of the square, the second position is to the right of the first position, at the middle of the right edge of the square, the third position is below the first position, at the middle of the bottom edge of the square.Diamond gradient in a square. Where the lightest parts of the gradient forms a diamond shape at the centre of the square. The positions are set exactly same as the angular gradient.Radial gradient in a square. Where the lightest parts of the gradient forms a flat oval in the square. The first position is at the centre of the square, the second position is to the right of the first position at the centre of the right edge of the square, the third position is between the first position and the bottom edge of the square.
gradientStopsColorStop[]
Positions of key points along the gradient axis with the colors anchored there. Colors along the gradient are interpolated smoothly between neighboring gradient stops.

For image paints:

scaleModeString

Image scaling mode, as a string enum.

  • FILL
  • FIT
  • TILE
  • STRETCH
imageTransformTransform
Affine transform applied to the image, only present if scaleMode is STRETCH.
scalingFactorNumber
Amount image is scaled by in tiling, only present if scaleMode is TILE.
rotationNumber
Image rotation, in degrees.
imageRefString
A reference to an image embedded in this node. To download the image using this reference, use the GET file images endpoint to retrieve the mapping from image references to image URLs.
filtersImageFiltersdefault: {}
Defines what image filters have been applied to this paint, if any. If this property is not defined, no filters have been applied.
gifRefString
A reference to an animated GIF embedded in this node. To download the image using this reference, use the GET file images endpoint to retrieve the mapping from image references to image URLs.

For pattern paints:

sourceNodeIdStringbeta
Node ID of the source node for the pattern.
tileTypeStringbeta

The way the pattern is tiled, as a string enum.

  • RECTANGULAR
  • HORIZONTAL_HEXAGONAL
  • VERTICAL_HEXAGONAL
scalingFactorNumberbeta
Scaling factor of the pattern.
spacingVectorbeta
Spacing of the pattern.
horizontalAlignmentStringbeta

Horizontal alignment of the pattern, as a string enum.

  • START
  • CENTER
  • END
verticalAlignmentStringbeta

Vertical alignment of the pattern, as a string enum.

  • START
  • CENTER
  • END

Path

Defines a single path.

pathString
A series of path commands that encodes how to draw the path.
windingRuleString
The winding rule for the path (same as in SVGs). This determines whether a given point in space is inside or outside the path.
overrideIDNumber
If there is a per-region fill, this refers to an ID in the fillOverrideTable.

Vector

A 2d vector.

xNumber
X coordinate of the vector.
yNumber
Y coordinate of the vector.

Size

A width and a height.

widthNumber
Width of the size.
heightNumber
Height of the size.

Transform

A 2x3 affine transformation matrix.

A 2D affine transformation matrix that can be used to calculate the affine transforms applied to a layer, including scaling, rotation, shearing, and translation.

The form of the matrix is given as an array of 2 arrays of 3 numbers each. E.g. the identity matrix would be [[1, 0, 0], [0, 1, 0]].

ImageFilters

Defines the image filters applied to an image paint. All values are from -1 to 1.

exposureNumberdefault: 0
contrastNumberdefault: 0
saturationNumberdefault: 0
temperatureNumberdefault: 0
tintNumberdefault: 0
highlightsNumberdefault: 0
shadowsNumberdefault: 0

ColorStop

A stop in a gradient paint that contains information about the stop position, color, and bound variables.

positionNumber
Value between 0 and 1 representing position along gradient axis.
colorColor
Color attached to corresponding position.
boundVariablesMap<String, VariableAlias>
Color variable that is attached to the stop, if any.

PaintOverride

Paint metadata to override default paints.

fillsPaint[]
Paints applied to characters.
inheritFillStyleIdString
ID of style node, if any, that this inherits fill data from.

TypeStyle

Metadata for character formatting.

fontFamilyString
Font family of text (standard name).
fontPostScriptNameString
PostScript font name.
fontStyleString
Describes visual weight or emphasis, such as Bold or Italic.
paragraphSpacingNumberdefault: 0
Space between paragraphs in px.
paragraphIndentNumberdefault: 0
Paragraph indentation in px.
listSpacingNumberdefault: 0
Space between list items in px.
italicBoolean
Whether or not text is italicized.
fontWeightNumber
Numeric font weight.
fontSizeNumber
Font size in px.
textCaseStringdefault: ORIGINAL

Text casing applied to the node, as a string enum.

  • ORIGINAL
  • UPPER
  • LOWER
  • TITLE
  • SMALL_CAPS
  • SMALL_CAPS_FORCED
textDecorationStringdefault: NONE

Text decoration applied to the node, as a string enum.

  • NONE
  • UNDERLINE
  • STRIKETHROUGH
textAutoResizeStringdefault: NONE

Dimensions along which text will auto resize, default is that the text does not auto-resize. TRUNCATE means that the text will be shortened and trailing text will be replaced with "…" if the text contents is larger than the bounds. TRUNCATE as a return value is deprecated and will be removed in a future version. Read from textTruncation instead.

  • NONE
  • HEIGHT
  • WIDTH_AND_HEIGHT
  • TRUNCATE (deprecated)
textTruncationStringdefault: DISABLED

Whether this text node will truncate with an ellipsis when the text contents is larger than the text node.

  • DISABLED
  • ENDING
maxLinesNumberdefault: null
The maximum number of lines a text node can reach before it truncates. Only applicable when textTruncation is ENDING.
textAlignHorizontalString

Horizontal text alignment, as string enum.

  • LEFT
  • RIGHT
  • CENTER
  • JUSTIFIED
textAlignVerticalString

Vertical text alignment, as string enum.

  • TOP
  • CENTER
  • BOTTOM
letterSpacingNumber
Space between characters in px.
fillsPaint[]
Paints applied to characters.
hyperlinkHyperlink
Link to a URL or frame.
openTypeFlagsMap<String, Number>default: {}
A map of OpenType feature flags to 1 or 0, 1 if it is enabled and 0 if it is disabled. Note that some flags aren't reflected here. For example, SMCP (small caps) is still represented by the textCase field.
lineHeightPxNumber
Line height in px.
lineHeightPercentNumberdeprecateddefault: 100
Line height as a percentage of normal line height. This is deprecated; in a future version of the API only lineHeightPx and lineHeightPercentFontSize will be returned.
lineHeightPercentFontSizeNumber
Line height as a percentage of the font size. Only returned when lineHeightPercent is not 100.
lineHeightUnitString

The unit of the line height value specified by the user.

  • PIXELS
  • FONT_SIZE_%
  • INTRINSIC_%
isOverrideOverTextStyleBoolean
Whether or not there are overrides over a text style. The possible fields to override are semanticWeight, semanticItalic, hyperlink, and textDecoration. If this is true, then those fields are overrides if present.
semanticWeightString

Indicates how the font weight was overridden when there is a text style override.

  • BOLD
  • NORMAL
semanticItalicString

Indicates how the font style was overridden when there is a text style override.

  • ITALIC
  • NORMAL
boundVariablesMap<String, VariableAlias>
A mapping of field to the VariableAlias of the bound variable.

TextPathTypeStyle

[Available in beta, API is subject to change] Metadata for character formatting for text on a path.

Has all the properties of TypeStyle except: paragraphSpacing, paragraphIndent, listSpacing, textDecoration, textAutoResize, textTruncation, maxLines, lineHeightPx, lineHeightPercent, lineHeightPercentFontSize, and lineHeightUnit.

Component

A description of a main component. Helps you identify which component instances are attached to.

keyString
The key of the component.
nameString
The name of the component.
descriptionString
The description of the component as entered in the editor.
componentSetId?String
The ID of the component set if the component belongs to one.
documentationLinksDocumentationLink[]
The documentation links for this component.
remoteBoolean
Whether this component is a remote component that doesn't live in this file.

ComponentSet

A description of a component set, which is a node containing a set of variants of a component.

keyString
The key of the component set.
nameString
The name of the component set.
descriptionString
The description of the component set as entered in the editor.
documentationLinksDocumentationLink[]
The documentation links for this component set.
remoteBoolean
Whether this component set is a remote component set that doesn't live in this file.

Style

A set of properties that can be applied to nodes and published. Styles for a property can be created in the corresponding properties panel while editing a file.

keyString
The key of the style.
nameString
The name of the style.
descriptionString
The description of the style.
remoteBoolean
Whether this style is a remote style that doesn't live in this file.
styleTypeString

The type of style, as a string enum.

  • FILL
  • TEXT
  • EFFECT
  • GRID

ShapeType

Geometric shape type. Most shape types have the same name as their tooltip but there are a few exceptions:

  • ENG_DATABASE is a Cylinder
  • ENG_QUEUE is a Horizontal cylinder
  • ENG_FILE is a File
  • ENG_FOLDER is a Folder
SQUAREString
ELLIPSEString
ROUNDED_RECTANGLEString
DIAMONDString
TRIANGLE_DOWNString
PARALLELOGRAM_RIGHTString
PARALLELOGRAM_LEFTString
ENG_DATABASEString
ENG_QUEUEString
ENG_FILEString
ENG_FOLDERString
TRAPEZOIDString
PREDEFINED_PROCESSString
SHIELDString
DOCUMENT_SINGLEString
DOCUMENT_MULTIPLEString
MANUAL_INPUTString
HEXAGONString
CHEVRONString
PENTAGONString
OCTAGONString
STARString
PLUSString
ARROW_LEFTString
ARROW_RIGHTString
SUMMING_JUNCTIONString
ORString
SPEECH_BUBBLEString
INTERNAL_STORAGEString

ConnectorEndpoint

Stores canvas location for a connector start/end point.

ConnectorEndpoint with endpointNodeId and position only:

endpointNodeIdString
Node ID that this endpoint attaches to.
positionVector
Canvas location as x & y coordinate.

ConnectorEndpoint with endpointNodeId and magnet only:

endpointNodeIdString
Node ID that this endpoint attaches to.
magnetConnectorMagnet

The magnet type, as a string enum.

  • AUTO
  • TOP
  • BOTTOM
  • LEFT
  • RIGHT

ConnectorLineType

ELBOWEDString
CURVEDString
STRAIGHTString

ConnectorTextBackground

cornerRadiusNumber
Radius of each corner of the rectangle if a single radius is set for all corners.
fillsPaint[]
An array of fill paints applied to the node.

ComponentPropertyDefinition

typeComponentPropertyType
Type of this component property.
defaultValueBoolean | String
Initial value of this property for instances.
variantOptions?String[]
All possible values for this property. Only exists on VARIANT properties.
preferredValues?InstanceSwapPreferredValue[]
List of user-defined preferred values for this property. Only exists on INSTANCE_SWAP properties.

ComponentProperty

typeComponentPropertyType
Type of this component property.
valueBoolean | String
Value of this property set on this instance.
preferredValues?InstanceSwapPreferredValue[]
List of user-defined preferred values for this property. Only exists on INSTANCE_SWAP properties.
boundVariablesMap<String, VariableAlias>
A mapping of field to the VariableAlias of the bound variable.

ComponentPropertyType

BOOLEANString
INSTANCE_SWAPString
TEXTString
VARIANTString

InstanceSwapPreferredValue

typeString

Type of node for this preferred value, as a string enum.

  • COMPONENT
  • COMPONENT_SET
keyString
Key of this component or component set.

PrototypeDevice

typeString

The type of the device, as a string enum.

  • NONE
  • PRESET
  • CUSTOM
  • PRESENTATION
sizeSize
presetIdentifierString
rotationString

Rotation of the device, as a string enum.

  • NONE
  • CCW_90

Annotation

A note and pinned properties left on a node in Dev Mode.

labelString
propertiesAnnotationProperty[]

AnnotationProperty

A pinned property in an Annotation.

typeString

The type of the property, as a string enum.

  • width
  • height
  • maxWidth
  • minWidth
  • maxHeight
  • minHeight
  • fills
  • strokes
  • effects
  • strokeWeight
  • cornerRadius
  • textStyleId
  • textAlignHorizontal
  • fontFamily
  • fontStyle
  • fontSize
  • fontWeight
  • lineHeight
  • letterSpacing
  • itemSpacing
  • padding
  • layoutMode
  • alignItems
  • opacity
  • mainComponent

Measurement

A pinned distance between two nodes in Dev Mode.

idString
offset0
freeTextString
When manually overridden, the displayed value of the measurement.

MeasurementStartEnd

The node and side a measurement is pinned to.

nodeIdString
sideString

The side of the node the measurement is pinned to, as a string enum.

  • TOP
  • RIGHT
  • BOTTOM
  • LEFT

MeasurementOffsetInner

Measurement offset relative to the inside of the start node.

typeString

The type of the offset, as a string enum.

  • INNER
relativeNumber

MeasurementOffsetOuter

Measurement offset relative to the outside of the start node.

typeString

The type of the offset, as a string enum.

  • OUTER
fixedNumber

StrokeWeights

Individual stroke weights.

topNumber
rightNumber
bottomNumber
leftNumber

Overrides

Fields directly overridden on an instance. Inherited overrides are not included.

idString
A unique ID for a node.
overriddenFieldsString[]
An array of properties.

VariableAlias

Contains a variable alias.

typeString

The type of the alias, as a string enum.

  • VARIABLE_ALIAS
idString
The id of the variable that the current variable is aliased to. This variable can be a local or remote variable, and both can be retrieved via the Variables endpoints.

DevStatus

Represents a handoff (or dev) status applied to a node.

typeString

The type of the status, as a string enum.

  • READY_FOR_DEV
  • COMPLETED
descriptionString
An optional field where the designer can add more information about the design and what has changed.

Interaction

An interaction in the Figma viewer, containing a trigger and one or more actions.

trigger0
The user event that initiates the interaction.
actionsAction[]
The actions that are performed when the trigger is activated.

Trigger

A prototyping Trigger describes the user input needed to cause an interaction to happen.

The ON_HOVER and ON_PRESS trigger types revert the navigation when the trigger is finished (the result is temporary).

MOUSE_ENTER, MOUSE_LEAVE, MOUSE_UP and MOUSE_DOWN are permanent, one-way navigation. The delay parameter requires the trigger to be held for a certain duration of time before the action occurs. Both timeout and delay values are in milliseconds.

The ON_MEDIA_HIT and ON_MEDIA_END trigger types can only trigger from a video. They fire when a video reaches a certain time or ends. The timestamp value is in seconds.

typeString

The type of the trigger, as a string enum.

  • ON_CLICK
  • ON_HOVER
  • ON_PRESS
  • ON_DRAG
  • AFTER_TIMEOUT
  • MOUSE_ENTER
  • MOUSE_LEAVE
  • MOUSE_UP
  • MOUSE_DOWN
  • ON_MEDIA_END
  • ON_KEY_DOWN
  • ON_KEY_UP

For AFTER_TIMEOUT events:

timeoutNumber

For MOUSE_ENTER, MOUSE_LEAVE, MOUSE_UP, and MOUSE_DOWN events:

delayNumber
deprecatedVersionBoolean
Whether this is a deprecated version of the trigger that was left unchanged for backwards compatibility. If not present, the trigger is the latest version.

For ON_KEY_DOWN events:

deviceString

The device that the key was pressed on, as a string enum.

  • KEYBOARD
  • XBOX_ONE
  • PS4
  • SWITCH_PRO
  • UNKNOWN_CONTROLLER
keyCodesNumber[]

For ON_MEDIA_HIT events:

mediaHitTimeNumber

Action

An action that is performed when a trigger is activated.

An action can be one of the following types:

BackAction

An action that navigates to the previously viewed frame.

typeString

The type of the action, as a string enum.

  • BACK

CloseAction

An action that closes the current topmost overlay (applicable only on overlays).

typeString

The type of the action, as a string enum.

  • CLOSE

OpenURLAction

An action that opens a URL.

typeString

The type of the action, as a string enum.

  • URL
urlString

UpdateMediaRuntimeAction

An action that affects a video node in the Figma viewer. For example, to play, pause, or skip.

typeString

The type of the action, as a string enum.

  • UPDATE_MEDIA_RUNTIME
destinationIdString | null
The node ID of the media node to update. If destinationId is null, the action will update the media node that contains the action.
mediaActionString

The action to perform on the media node, as a string enum.

  • PLAY
  • PAUSE
  • TOGGLE_PLAY_PAUSE
  • MUTE
  • UNMUTE
  • TOGGLE_MUTE_UNMUTE
  • SKIP_FORWARD
  • SKIP_BACKWARD
  • SKIP_TO

For SKIP_FORWARD and SKIP_BACKWARD actions:

amountToSkipNumber
The amount of time to skip in seconds.

For SKIP_TO actions:

newTimestampNumber
The new time to skip to in seconds.

NodeAction

An action that navigates to a specific node in the Figma viewer.

typeString

The type of the action, as a string enum.

  • NODE
destinationIdString | null
navigationNavigation
preserveScrollPositionBoolean
Whether the scroll offsets of any scrollable elements in the current screen or overlay are preserved when navigating to the destination. This is applicable only if the layout of both the current frame and its destination are the same.
overlayRelativePositionVector
Applicable only when navigation is OVERLAY and the destination is a frame with overlayPosition equal to MANUAL. This value represents the offset by which the overlay is opened relative to this node.
resetVideoPositionBoolean
When true, all videos within the destination frame will reset their memorized playback position to 00:00 before starting to play.
resetScrollPositionBoolean
Whether the scroll offsets of any scrollable elements in the current screen or overlay reset when navigating to the destination. This is applicable only if the layout of both the current frame and its destination are the same.
resetInteractiveComponentsBoolean
Whether the state of any interactive components in the current screen or overlay reset when navigating to the destination. This is applicable if there are interactive components in the destination frame.
typeString

The method of navigation, as a string enum.

  • NAVIGATE: Replaces the current screen with the destination, also closing all overlays.
  • OVERLAY: Opens the destination as an overlay on the current screen.
  • SWAP: On an overlay, replaces the current (topmost) overlay with the destination. On a top-level frame, behaves the same as NAVIGATE except that no entry is added to the navigation history.
  • SCROLL_TO: Scrolls to the destination on the current screen.
  • CHANGE_TO: Changes the closest ancestor instance of source node to the specified variant.

SimpleTransition

Describes an animation used when navigating in a prototype.

typeString

The type of the transition, as a string enum.

  • DISSOLVE
  • SMART_ANIMATE
  • SCROLL_ANIMATE
durationNumber
The duration of the transition in milliseconds.
easingEasing
The easing curve of the transition.

DirectionTransition

Describes an animation used when navigating in a prototype.

typeString

The type of the transition, as a string enum.

  • MOVE_IN
  • MOVE_OUT
  • PUSH
  • SLIDE_IN
  • SLIDE_OUT
directionString

The direction of the transition, as a string enum.

  • LEFT
  • RIGHT
  • TOP
  • BOTTOM
durationNumber
The duration of the transition in milliseconds.
easingEasing
The easing curve of the transition.
matchLayersBoolean
When the transition type is SMART_ANIMATE or when matchLayers is true, then the transition will be performed using smart animate, which attempts to match corresponding layers and interpolate other properties during the animation.

Easing

Describes an easing curve.

typeEasingType
The type of easing curve.
easingFunctionCubicBezierEasingFunctionCubicBezier
A cubic bezier curve that defines the easing.
easingFunctionSpringEasingFunctionSpring
A spring function that defines the easing.

EasingFunctionCubicBezier

A cubic bezier curve that defines the easing.

x1Number
The x component of the first control point.
y1Number
The y component of the first control point.
x2Number
The x component of the second control point.
y2Number
The y component of the second control point.

EasingFunctionSpring

A spring function that defines the easing.

massNumber
stiffnessNumber
dampingNumber

SetVariableAction

An action that sets a variable to a specific value.

typeString

The type of the action, as a string enum.

  • SET_VARIABLE
variableIdString | null
variableValueVariableData

SetVariableModeAction

An action that sets a variable to a specific mode.

typeString

The type of the action, as a string enum.

  • SET_VARIABLE_MODE
variableCollectionIdString | null
variableModeIdString | null

ConditionalAction

An action that checks if a condition is met before performing certain actions by using an if/else conditional statement.

typeString

The type of the action, as a string enum.

  • CONDITIONAL
conditionalBlocksConditionalBlock[]

VariableData

A value to set a variable to during prototyping.

valueBoolean | Number | String | Color | RGBColor | VariableAlias | Expression

VariableDataType

Defines the types of data a VariableData object can hold.

typeString

The type of the variable data, as a string enum.

  • BOOLEAN
  • FLOAT
  • STRING
  • COLOR
  • VARIABLE_ALIAS
  • EXPRESSION

VariableResolvedDataType

Defines the types of data a VariableData object can eventually equal.

typeString

The type of the variable when resolved, as a string enum.

  • BOOLEAN
  • FLOAT
  • STRING
  • COLOR

Expression

Defines the Expression object, which contains a list of VariableData objects strung together by operators.

expressionFunctionExpressionFunction
expressionArgumentsVariableData[]

ExpressionFunction

Defines the list of operators available to use in an Expression.

typeString

The type of the function, as a string enum.

  • ADDITION
  • SUBTRACTION
  • MULTIPLICATION
  • DIVISION
  • EQUALS
  • NOT_EQUAL
  • LESS_THAN
  • LESS_THAN_OR_EQUAL
  • GREATER_THAN
  • GREATER_THAN_OR_EQUAL
  • AND
  • OR
  • VAR_MODE_LOOKUP
  • NEGATE
  • NOT

ConditionalBlock

Either the if or else conditional blocks. The if block contains a condition to check. If that condition is met then it will run those list of actions, else it will run the actions in the else block.

conditionVariableData
actionsAction[]