Skip to content

Apps SDK Methods Quick Reference

Design Module (@canva/design)

typescript
// Add elements
addNativeElement(element: NativeElement): Promise<void>
addElementAtCursor(element: Element): Promise<void>
addElementAtPoint(element: Element, point: Point): Promise<void>

// Pages
addPage(options?: AddPageOptions): Promise<void>

// Audio
addAudioTrack(asset: AudioAsset): Promise<void>

// Content
editContent(options: EditContentOptions): Promise<void>
createRichtextRange(options: RichtextOptions): Promise<RichtextRange>

// Design info
getDesignMetadata(): Promise<DesignMetadata>
getDefaultPageDimensions(): Promise<Dimensions>
getCurrentPageContext(): Promise<PageContext>
getDesignToken(): Promise<string>

// Selection
selection.registerOnChange(handler: SelectionHandler): void

// Overlay
overlay.registerOnCanOpen(handler: CanOpenHandler): void

// UI
ui.startDrag(options: DragOptions): void
ui.startDragToCursor(options: DragOptions): void
ui.startDragToPoint(options: DragOptions): void

// Background
setCurrentPageBackground(background: Background): Promise<void>

// Publish
publishLaunch(options: PublishOptions): Promise<void>
bulkCreateLaunch(options: BulkCreateOptions): Promise<void>

// Export
requestExport(options: ExportOptions): Promise<ExportResponse>

// Open
openDesign(options: OpenDesignOptions): Promise<void>

Asset Module (@canva/asset)

typescript
// Upload
upload(asset: AssetUpload): Promise<UploadedAsset>

// URL
getTemporaryUrl(options: TemporaryUrlOptions): Promise<string>

// Fonts
findFonts(query: FontQuery): Promise<FontList>
requestFontSelection(options: FontSelectionOptions): Promise<FontRef>

// Color selector
openColorSelector(options: ColorSelectorOptions): Promise<Color>

User Module (@canva/user)

typescript
// Auth
auth.getCanvaUserToken(): Promise<string>
auth.initOauth(options: OAuthOptions): Promise<void>

// Monetization
monetization.isEnabled(): Promise<boolean>
monetization.openTrackingSession(options: TrackingOptions): Promise<void>
monetization.requestEnableBillableAction(options: BillableOptions): Promise<void>

Platform Module (@canva/platform)

typescript
// Info
getPlatformInfo(): Promise<PlatformInfo>

// Notifications
notification.addToast(options: ToastOptions): void

// External URLs
requestOpenExternalUrl(options: UrlOptions): Promise<void>

// App process
appProcess.current.getInfo(): Promise<ProcessInfo>
appProcess.current.requestClose(): Promise<void>
appProcess.broadcastMessage(message: Message): void
appProcess.registerOnMessage(handler: MessageHandler): void

// Features
features.registerOnSupportChange(handler: SupportChangeHandler): void

Canva Developer Documentation SOP Site