On September 25th, 2024, we released v2 of the Apps SDK. To learn what’s new and how to upgrade, see Migration FAQ and Migration guide.

addNativeElement

API reference for the addNativeElement method.
This version of the API is a preview. Preview APIs are unstable and may change without warning. You can't release public apps using this API until it's stable.

This API is deprecated, and is no longer recommended for use, and should be removed from your app.

Adds a native element to the user's design.

Parameters

elementobjectRequired

The element to add to the user's design.

The type has been superseded by DesignElement.

An element that's natively supported by the Canva editor.

The type has been superseded by ImageElement.

An element that renders image content.

typestringRequired

The type of element.

This must be "image".

altTextAltText | undefinedRequired

A description of the image content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.
dataUrlstringOptional

A data URL that contains the image data.

refImageRefOptional

A unique identifier that points to an image asset in Canva's backend.

The type has been superseded by VideoElement.

An element that renders video content.

typestringRequired

The type of element.

This must be "video".

refVideoRefRequired

A unique identifier that points to a video asset in Canva's backend.

altTextAltText | undefinedRequired

A description of the video content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.

The type has been superseded by EmbedElement.

An element that renders rich media, such as a YouTube video.

typestringRequired

The type of element.

This must be "embed".

urlstringRequired

The URL of the rich media.

This URL must be supported by the Iframely API.

The type has been superseded by TextElement.

An element that renders text content.

typestringRequired

The type of element.

This must be "text".

childrenstring[]Required

The text content.

Only the first element in this array is used.

fontSizenumberOptional

The size of the text.

Minimum: 1

Maximum: 100

Default value: 16

textAlignstringOptional

The alignment of the text.

Default value: "start"

Available values:

  • "start"
  • "center"
  • "end"
  • "justify"
colorstringOptional

The color of the text as a hex code.

The hex code must include all six characters and be prefixed with a # symbol.

Example

"#ff0099"
TS
fontRefFontRefOptional

A unique identifier that points to a font asset in Canva's backend.

fontWeightFontWeightOptional

The weight (thickness) of the font.

Default value: "normal"

Available values:

  • "normal"
  • "thin"
  • "extralight"
  • "light"
  • "medium"
  • "semibold"
  • "bold"
  • "ultrabold"
  • "heavy"
fontStylestringOptional

The style of the font.

Default value: "normal"

Available values:

  • "normal"
  • "italic"
decorationstringOptional

The decoration of the font.

Default value: "none"

Available values:

  • "none"
  • "underline"

The type has been superseded by ShapeElement.

An element that renders a vector shape.

typestringRequired

The type of element.

This must be "shape".

viewBoxShapeViewBoxRequired

Options for configuring the scale and cropping of the shape.

topnumberRequired

The distance of the shape from the top edge of the element, in pixels.

leftnumberRequired

The distance of the shape from the left edge of the element, in pixels.

widthnumberRequired

The width of the view box, in pixels.

heightnumberRequired

The height of the view box, in pixels.

pathsShapePath[]Required

The paths that define the structure of the shape.

  • There must be between 1 and 30 paths (inclusive).
  • The maximum combined size of all paths must not exceed 2kb.
  • The maximum number of unique fill colors across all paths is 6.
dstringRequired

The shape of the path.

This is similar to the d attribute of an SVG's path element, with some limitations:

  • The path must start with an M command.
  • The path must not have more than one M command.
  • The path must not use the Q command.
  • The path must be closed, either by:
    • Using a Z command at the end of the path
    • Having the last coordinate match the first coordinate
fillFillRequired

The appearance of the path's interior.

dropTargetbooleanOptional

If true, users can replace a fill by dropping an image or video onto it.

colorstringOptional

The color of the fill as a hex code.

The hex code must include all six characters and be prefixed with a # symbol.

Example

"#ff0099"
TS
assetobjectOptional

An image or video to use as the fill.

An image asset that fills a path's interior.

typestringRequired

The type of fill.

This must be "image".

refImageRefRequired

A unique identifier that points to an image asset in Canva's backend.

altTextAltTextOptional

A description of the image content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.

A video asset that fills a path's interior.

typestringRequired

The type of fill.

This must be "video".

refVideoRefRequired

A unique identifier that points to a video asset in Canva's backend.

altTextAltTextOptional

A description of the image content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.
strokePathStrokeOptional

The outline of the path.

weightnumberRequired

The weight (thickness) of the stroke.

Minimum: 0

Maximum: 100

colorstringRequired

The color of the stroke as a hex code.

The hex code must include all six characters and be prefixed with a # symbol.

Example

"#ff0099"
TS
strokeAlignstringRequired

The alignment of the stroke.

This must be "inset".

The type has been superseded by GroupElement.

An element that contains two or more elements.

typestringRequired

The type of element.

This must be "group".

childrenGroupContentAtPoint[]Required

The elements to render within the group.

  • Each element within a group must have dimensions and a position.
  • The dimensions and positions are relative to the dimensions and positions of the group.

The type has been superseded by ElementAtPoint.

An element that's natively supported by the Canva editor and has positional properties.

The type has been superseded by ImageElementAtPoint.

An element that renders image content and has positional properties.

typestringRequired

The type of element.

This must be "image".

altTextAltText | undefinedRequired

A description of the image content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.
topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

dataUrlstringOptional

A data URL that contains the image data.

refImageRefOptional

A unique identifier that points to an image asset in Canva's backend.

The type has been superseded by VideoElementAtPoint.

An element that renders video content and has positional properties.

typestringRequired

The type of element.

This must be "video".

refVideoRefRequired

A unique identifier that points to a video asset in Canva's backend.

altTextAltText | undefinedRequired

A description of the video content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.
topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

The type has been superseded by EmbedElementAtPoint.

An element that renders rich media, such as a YouTube video, and has positional properties.

typestringRequired

The type of element.

This must be "embed".

urlstringRequired

The URL of the rich media.

This URL must be supported by the Iframely API.

topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

The type has been superseded by TextElementAtPoint.

An element that renders text content and has positional properties.

typestringRequired

The type of element.

This must be "text".

childrenstring[]Required

The text content.

Only the first element in this array is used.

topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

fontSizenumberOptional

The size of the text.

Minimum: 1

Maximum: 100

Default value: 16

textAlignstringOptional

The alignment of the text.

Default value: "start"

Available values:

  • "start"
  • "center"
  • "end"
  • "justify"
colorstringOptional

The color of the text as a hex code.

The hex code must include all six characters and be prefixed with a # symbol.

Example

"#ff0099"
TS
fontRefFontRefOptional

A unique identifier that points to a font asset in Canva's backend.

fontWeightFontWeightOptional

The weight (thickness) of the font.

Default value: "normal"

Available values:

  • "normal"
  • "thin"
  • "extralight"
  • "light"
  • "medium"
  • "semibold"
  • "bold"
  • "ultrabold"
  • "heavy"
fontStylestringOptional

The style of the font.

Default value: "normal"

Available values:

  • "normal"
  • "italic"
decorationstringOptional

The decoration of the font.

Default value: "none"

Available values:

  • "none"
  • "underline"
rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

widthnumberOptional

The width of the element, in pixels.

Minimum: 0

Maximum: 32767

The type has been superseded by ShapeElementAtPoint.

An element that renders a vector shape and has positional properties.

typestringRequired

The type of element.

This must be "shape".

viewBoxShapeViewBoxRequired

Options for configuring the scale and cropping of the shape.

topnumberRequired

The distance of the shape from the top edge of the element, in pixels.

leftnumberRequired

The distance of the shape from the left edge of the element, in pixels.

widthnumberRequired

The width of the view box, in pixels.

heightnumberRequired

The height of the view box, in pixels.

pathsShapePath[]Required

The paths that define the structure of the shape.

  • There must be between 1 and 30 paths (inclusive).
  • The maximum combined size of all paths must not exceed 2kb.
  • The maximum number of unique fill colors across all paths is 6.
dstringRequired

The shape of the path.

This is similar to the d attribute of an SVG's path element, with some limitations:

  • The path must start with an M command.
  • The path must not have more than one M command.
  • The path must not use the Q command.
  • The path must be closed, either by:
    • Using a Z command at the end of the path
    • Having the last coordinate match the first coordinate
fillFillRequired

The appearance of the path's interior.

dropTargetbooleanOptional

If true, users can replace a fill by dropping an image or video onto it.

colorstringOptional

The color of the fill as a hex code.

The hex code must include all six characters and be prefixed with a # symbol.

Example

"#ff0099"
TS
assetobjectOptional

An image or video to use as the fill.

An image asset that fills a path's interior.

typestringRequired

The type of fill.

This must be "image".

refImageRefRequired

A unique identifier that points to an image asset in Canva's backend.

altTextAltTextOptional

A description of the image content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.

A video asset that fills a path's interior.

typestringRequired

The type of fill.

This must be "video".

refVideoRefRequired

A unique identifier that points to a video asset in Canva's backend.

altTextAltTextOptional

A description of the image content.

Use undefined for content with no description.

textstringRequired

The text content.

decorativeboolean | undefinedRequired

Indicates where the alternative text should be displayed.

  • If true, the alternative text will only be displayed in the editor.
  • If false, the alternative text will be displayed in the editor and in view-only mode.
strokePathStrokeOptional

The outline of the path.

weightnumberRequired

The weight (thickness) of the stroke.

Minimum: 0

Maximum: 100

colorstringRequired

The color of the stroke as a hex code.

The hex code must include all six characters and be prefixed with a # symbol.

Example

"#ff0099"
TS
strokeAlignstringRequired

The alignment of the stroke.

This must be "inset".

topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

The type has been superseded by GroupElementAtPoint.

An element that contains two or more elements and has positional properties.

typestringRequired

The type of element.

This must be "group".

childrenGroupContentAtPoint[]Required

The elements to render within the group.

  • Each element within a group must have dimensions and a position.
  • The dimensions and positions are relative to the dimensions and positions of the group.
topnumberRequired

The distance from the top edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

leftnumberRequired

The distance from the left edge of the container, in pixels.

  • The pixels are relative to their container.

Minimum: -32768

Maximum: 32767

widthnumberRequired

A width, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

heightnumberRequired

A height, in pixels.

  • The pixels are relative to their container.

Minimum: 0

Maximum: 32767

rotationnumberOptional

A rotation, in degrees.

Minimum: -180

Maximum: 180

Returns

Promise<void>