For AI agents: the docs index is at https://developer.roku.com/dev/llms.txt. Append .md to any documentation page URL to get its markdown version.
Jump to Content
Developer DocsHome
Guides
Developer Docs
Guides
Jump to Content
Developer Docs
Guides
  • Roku platform overview
  • Set up your Roku account
    • User access management
    • Email preferences
  • Monetization
    • Subscriptions and one-time purchases
    • Publisher payouts
    • Enrolling in the Roku Partner Payouts Program
    • Video advertisements
  • Content engagement
    • Streaming Store
    • Roku Search
    • Self-serve app promotion tool
    • Roku Voice
  • Legal
  • Specifications overview
  • Streaming specifications
    • Roku OS support for DASH-IF
    • DRM & content protection
  • Hardware specifications
  • Roku Search feed (JSON)
  • Streaming Store graphics
  • Getting started
    • How apps work
    • App development models
    • First steps
    • Activating developer mode
    • Building your first app
    • Creating a content feed
    • Taking the online video course
    • Samples
    • App localization
    • Architecture
      • Manifest file
      • Content metadata
      • Development environment overview
      • File system
    • Security on the Roku platform
  • Certification
    • Certification criteria
    • Certification testing
      • Static Analysis tests
      • App Behavior Analysis tests
      • Authenticated app testing
  • Design
    • Designing for devices
    • UI philosophy
    • Key Design Principles
    • Roku's master UI
    • Remote control buttons
    • Ideal app features
    • Best practices
  • SceneGraph core concepts
    • SceneGraph XML
      • SceneGraph coordinate systems
      • Other inherited properties
      • Node field observers
      • Remote control events
    • SceneGraph data scoping
    • SceneGraph BrightScript
      • BrightScript support
      • BrightScript/XML markup equivalence
    • XML components overview
      • Defining SceneGraph components
      • SceneGraph compilation
      • Component initialization order
      • Creating custom components
    • Threads
    • Developing SceneGraph applications
    • Specifying display resolution
    • Handling application events
    • Event loops
    • Controlling screen layout
    • Controlling screen program flow
    • Downloading server content
    • Playing Videos
    • SceneGraph localization
    • BrightScript style guide
    • Transitioning to SceneGraph
  • Media playback
    • Screensavers
    • Closed caption
    • Trick mode
      • BIF file creation using the Roku BIF tool
      • HLS and DASH
    • Bookmarking
    • Instant Resume
    • Fast video start
    • Autoplay
    • Text to speech
    • Voice controls
      • Implementing voice controls
      • Selecting user profiles with Roku Voice
  • Discovery
    • Roku Search
      • Implementing Roku Search
      • Prioritizing authenticated apps
    • Deep linking
    • Instant Signup
    • Continue Watching
    • Direct to Play
  • Profiles
    • Kid & Teen Mode
  • Advertising
    • Integrating the Roku Advertising Framework
    • Roku advertising requirements
    • Implementing client-side ad stitching
    • Implementing Server-Side Ad Insertion Using Roku Adapters
    • Implementing the Demand API
    • Roku Advertising Watermark
    • API reference
    • Implementing Nielsen Digital Content Ratings (DCR) measurement
  • Roku Pay
    • Getting started
      • Setting the monetization method
      • Creating the product catalog
      • Catalog 2.0 API integration guide
      • Price tier reference guide
      • Creating test users
      • Setting up Roku Pay web services
    • Implementing Roku Pay
      • SceneGraph ChannelStore
      • Roku Pay web services reference
      • Roku Pay push notifications reference
      • Receiving secured Roku Pay push notifications
      • On-device upgrade and downgrade
      • Tracking signup abandonment
      • Creating TVOD apps (Catalog 2.0)
    • Introduction to Subscription Recovery
      • Basic Subscription Recovery
      • Enhanced Subscription Recovery
      • Settings
      • Testing
    • Testing Roku Pay
      • Testing a Roku Pay app
      • Enabling billing testing
    • Roku Pay integration requirements
    • Roku Pay best practices
    • Signup requirements and best practices
    • Sign-in requirements and best practices
    • Roku Pay reports
  • Authentication
    • On-Device Authentication
    • Automatic Account Link
    • Rendezvous linking
  • Roku Analytics Component Library (RACL)
  • Debugging
    • Capturing and decrypting SSL packets
    • BrightScript debug protocol
  • Publishing
    • Developer Dashboard
    • Packaging Roku apps
    • App Publishing
  • Analytics
    • App analytics reports
      • App Engagement Report
      • App Health Report
      • App Stability Report
      • Viewership Summary Report
    • Sales reports
      • Transaction Report
      • Sales Activity Report
      • Payout Audit Report
      • Tax Withholding Report
      • Cancellation Offers Report
  • Cloud Emulator
    • RCE API reference
    • Security
    • Release notes
  • Developer Tools
    • Roku app tracing (with Perfetto)
    • Roku Resource Monitor
      • Using Roku Resource Monitor in Data Collection Mode
      • Roku Resource Monitor session file specification
    • External Control Protocol (ECP)
    • Roku Remote Tool
    • Roku SceneGraph XML schema (XSD)
    • Eclipse IDE support
    • SGDEX
    • RALE
    • BrightScript Profiler
    • BrightScript Profiler file format specification
    • BrightScriptDoc
    • Static Analysis Tool
      • Command line utility
    • Automated App Testing
      • Roku WebDriver
      • Roku Robot Framework Library
      • Roku JavaScript Library
    • Certification testing tool
  • Performance
    • Data management
    • Memory management
    • Optimization techniques
    • Optimized data transfer and reference handling
    • Measuring app performance
    • Accessing SceneGraph nodes
  • Release notes
    • Reverting Roku beta OS to production on devices
    • Roku Advertising Framework release notes
  • Development partners
  • RSG 2.0 SDK documentation
    • Getting started
      • RSG 2.0 SDK overview
      • Getting started with the RSG 2.0 SDK
      • Examples
        • Baseline app example
        • Baseline app example (pipeline test)
        • Anchor node example
        • Extends example (focus and key handling with anchor nodes)
        • Dynamic component example (@roku-sdk/solid)
        • Class transpilation example
        • Pitfalls example
        • Focus boundary example apps
        • Focus boundary SG components example
        • Focus boundary SG tree example
        • FocusableGroup example
        • KeyHandler example
        • FlexGrid example apps
        • FlexGrid example: Showcase
        • FlexGrid example: Cowboy TV
        • FlexGrid example: Fantasy TV
        • Pooled item row example
        • Slideshow example
        • ChannelStore signup/signin example
        • Ads example
        • Runtime showcase example
        • Stack decoder examples
        • Master sample example
        • Two cowboys example
        • Showcase example
        • Showcase app: complete catalog
        • Showcase app: AI reference map
      • Installing @roku-sdk/* packages from npmjs.com
      • Directory layout
      • rk CLI
        • rk create
    • Core concepts
      • App configuration options (roku-config.ts)
      • Manifest
        • Flexible manifest processing
      • Effects
      • Dynamic Component Libraries (DCL)
      • Tween value-shape contract
    • Guides
      • Focus management
        • Focus boundary
        • Modal boundary
        • FocusableGroup
        • KeyHandler
      • FlexGrid
      • FlexGrid API usage
      • Images
        • Importing and processing static images
      • RSG testing library
    • Runtime and debugging
      • Fetch: deviations from the WHATWG standard
      • Forwarding exceptions to monitoring services
      • Mapping runtime errors to TypeScript source code
      • App profiling
      • Perfetto profiling
      • rk
        • Debugging Roku apps with AI
        • rk decode-stack
        • rk logs
        • rk perfetto
    • Advanced
      • Workspace mode
      • Pipeline extension API
      • Extending the device pool
      • Asset tree-shaking
      • Importing XML components with type safety
      • rk
        • rk build
        • rk dcl
        • rk dev
        • rk device
        • rk device lease
        • rk device pool
        • rk ecp
        • rk gen-types
        • rk keysequence
        • AI integration via MCP (rk mcp)
        • rk device package
        • rk plugins
        • Roku Cloud Emulator devices
        • rk server
        • rk server managed lifecycle (phase 0 contract)
        • rk workflow navigation
    • Knowledge base
      • AnchorNode ↔ base-component field-name collisions
      • Console polyfill
      • Js debug sourcemapurl cross directory
      • Rsg ts pitfalls
      • Solid reactivity
    • Release notes
      • Release notes
      • Upgrade notes for partners
  • Reference overview
  • SceneGraph
    • Component functions
      • init()
      • onKeyEvent()
    • Xml Elements
      • children
      • component
      • <interface>
      • script
    • Node
    • Scene
    • Abstract nodes
      • AnimationBase
      • ArrayGrid
      • DynamicKeyboardBase
      • LabelBase
    • Renderable nodes
      • Effect
      • Poster
      • Rectangle
      • SimpleLabel
    • Label nodes
      • InfoPane
      • Label
      • MonospaceLabel
      • MultiStyleLabel
    • Animation nodes
      • AnimatedImage
      • Animation
      • ColorFieldInterpolator
      • FloatArrayFieldInterpolator
      • FloatFieldInterpolator
      • ParallelAnimation
      • SequentialAnimation
      • Vector2DFieldInterpolator
    • Typographic nodes
      • Font
      • ScrollableText
      • ScrollingLabel
    • Control nodes
      • ChannelStore
      • ComponentLibrary
      • ContentNode
      • MaskGroup
      • Task
      • Timer
    • Layout group nodes
      • ButtonGroup
      • Group
      • LayoutGroup
      • TargetGroup
    • Dynamic voice keyboard nodes
      • DynamicCustomKeyboard
      • DynamicKeyGrid
      • DynamicKeyboard
      • DynamicMiniKeyboard
      • DynamicPinPad
      • Key Definition File
      • VoiceTextEditBox
    • Standard dialog framework
      • StandardDialog
      • StandardKeyboardDialog
      • StandardMessageDialog
      • StandardPinPadDialog
      • StandardProgressDialog
      • StdDlgActionCardItem
      • StdDlgAreaBase
      • StdDlgBulletTextItem
      • StdDlgButtonArea
      • StdDlgButton
      • StdDlgContentArea
      • StdDlgCustomItem
      • StdDlgDeterminateProgressItem
      • StdDlgGraphicItem
      • StdDlgItemBase
      • StdDlgItemGroup
      • StdDlgKeyboardItem
      • StdDlgMultiStyleTextItem
      • StdDlgProgressItem
      • StdDlgSideCardArea
      • StdDlgTextItem
      • StdDlgTitleArea
    • Dialog Nodes
      • Dialog
      • KeyboardDialog
      • PinDialog
      • ProgressDialog
    • Widget Nodes
      • BusySpinner
      • Button
      • Keyboard
      • MiniKeyboard
      • ParentalControlPinPad
      • PinPad
      • TextEditBox
    • Lists and grids
      • CheckList
      • LabelList
      • MarkupGrid
      • MarkupList
      • PosterGrid
      • RadioButtonList
      • RowList
      • TargetList
      • TargetSet
      • TimeGrid
      • ZoomRowList
    • Sliding panels
      • GridPanel
      • ListPanel
      • Overhang
      • OverhangPanelSetScene
      • Panel
      • PanelSet
    • Media playback nodes
      • Audio
      • SoundEffect
      • Video
  • BrightScript
    • Components
      • roAnimatedImage
      • roAppInfo
      • roAppManager
      • roAppMemoryMonitor
      • roArray
      • roAssociativeArray
      • roAudioGuide
      • roAudioMetadata
      • roAudioPlayer
      • roAudioResource
      • roBitmap
      • roBoolean
      • roByteArray
      • roCECStatus
      • roChannelStore
      • roCompositor
      • roDataGramSocket
      • roDateTime
      • roDeviceCrypto
      • roDeviceInfo
      • roDouble
      • roDsa
      • roEVPCipher
      • roEVPDigest
      • roFileSystem
      • roFloat
      • roFont
      • roFontRegistry
      • roFunction
      • roHdmiStatus
      • roHMAC
      • roHttpAgent
      • roImageMetadata
      • roInput
      • roInt
      • roInvalid
      • roList
      • roLocalization
      • roLongInteger
      • roMessagePort
      • roMicrophone
      • roPath
      • roPerfetto
      • roProfile
      • roRegex
      • roRegion
      • roRegistry
      • roRegistrySection
      • roRemoteInfo
      • roRenderThreadQueue
      • roRSA
      • roScreen
      • roSGNode
      • roSGScreen
      • roSocketAddress
      • roSprite
      • roStreamSocket
      • roString
      • roSystemLog
      • roTextToSpeech
      • roTextureManager
      • roTextureRequest
      • roTimespan
      • roUrlTransfer
      • roUserInfo
      • roUtils
      • roVideoPlayer
      • roWebSocket
      • roXMLElement
      • roXMLList
    • Events
      • roAnimatedImageEvent
      • roAppMemoryNotificationEvent
      • roAudioPlayerEvent
      • roCECStatusEvent
      • roChannelStoreEvent
      • roDeviceInfoEvent
      • roFileSystemEvent
      • roHdmiStatusEvent
      • roInputEvent
      • roMicrophoneEvent
      • roSGNodeEvent
      • roSGScreenEvent
      • roSocketEvent
      • roSSEvent
      • roSystemLogEvent
      • roTextToSpeechEvent
      • roTextureRequestEvent
      • roUniversalControlEvent
      • roUrlEvent
      • roVideoPlayerEvent
      • roWebSocketEvent
    • Interfaces
      • ifAnimatedImage
      • ifAppInfo
      • ifAppManager
      • ifAppMemoryMonitor
      • ifArray
      • ifArrayGet
      • ifArrayJoin
      • ifArraySet
      • ifArraySizeInfo
      • ifArraySlice
      • ifArraySort
      • ifAssociativeArray
      • ifAudioGuide
      • ifAudioMetadata
      • ifAudioPlayer
      • ifAudioResource
      • ifBoolean
      • ifByteArray
      • ifCECStatus
      • ifChannelStore
      • ifCompositor
      • ifDateTime
      • ifDeviceCrypto
      • ifDeviceInfo
      • ifDouble
      • ifDraw2D
      • ifDsa
      • ifEnum
      • ifEVPCipher
      • ifEVPDigest
      • ifFileSystem
      • ifFloat
      • ifFont
      • ifFontRegistry
      • ifFunction
      • ifGetMessagePort
      • ifHdmiStatus
      • ifHMAC
      • ifHttpAgent
      • ifImageMetadata
      • ifInput
      • ifInt
      • ifIntOps
      • ifList
      • ifListToArray
      • ifLocalization
      • ifLongInt
      • ifMessagePort
      • ifMicrophone
      • ifPath
      • ifPerfetto
      • ifProfile
      • ifRegex
      • ifRegion
      • ifRegistry
      • ifRegistrySection
      • ifRemoteInfo
      • Ifrenderthreadqueue
      • ifRSA
      • ifScreen
      • ifSetMessagePort
      • ifSGNodeBoundingRect
      • ifSGNodeChildren
      • ifSGNodeDict
      • ifSGNodeField
      • ifSGNodeFocus
      • ifSGNodeHttpAgentAccess
      • ifSGScreen
      • ifSocket
      • ifSocketAddress
      • ifSocketAsync
      • ifSocketCastOption
      • ifSocketConnection
      • ifSocketConnectionOption
      • ifSocketConnectionStatus
      • ifSocketOption
      • ifSocketStatus
      • ifSourceIdentity
      • ifSprite
      • ifString
      • ifStringOps
      • ifSystemLog
      • ifTextToSpeech
      • ifTextureManager
      • ifTextureRequest
      • ifTimeSpan
      • ifToStr
      • ifUrlTransfer
      • ifUserInfo
      • IfUtils
      • ifVideoPlayer
      • roWebSocket
      • ifXMLElement
      • ifXMLList
    • Language
      • BrightScript language reference
      • Component architecture
      • Conditional compilation
      • Error handling in BrightScript
      • Expressions, variables, and types
      • Format strings
      • Global math functions
      • Global string functions
      • Global utility functions
      • Program statements
      • Reserved words
      • Runtime functions
      • Statement summary
  • RSG 2.0 SDK
    • Components
      • AnimatedImage
      • Animation
      • Audio
      • BifDisplay
      • BlendedBusySpinner
      • BoundingTracker
      • BUSY_SPINNER_DIMENSIONS
      • BusySpinner
      • Button
      • ButtonGroup
      • ButtonRow
      • ChannelStore
      • CheckList
      • ColorFieldInterpolator
      • Container
      • ContentNode
      • CustomKeyboard
      • Dialog
      • DynamicKeyboard
      • DynamicKeyGrid
      • DynamicMiniKeyboard
      • DynamicPinPad
      • Effect
      • FloatFieldInterpolator
      • Focusable
      • FocusableGroup
      • Font
      • getBusySpinnerHeight
      • getBusySpinnerWidth
      • Glyphs
      • Group
      • INodeProps
      • installEffectGradientDevValidation
      • KeyHandler
      • Label
      • LabelList
      • LayoutGroup
      • ListPanel
      • MarkupGrid
      • MarkupList
      • MaskGroup
      • MultiStyleLabel
      • Overhang
      • Panel
      • PanelSet
      • Poster
      • PosterGrid
      • ProgressBar
      • RadioButtonList
      • Rectangle
      • ResolutionProvider
      • RowList
      • RsgPalette
      • scaleForDeviceResolution
      • Scene
      • ScrollableText
      • ScrollingLabel
      • SequentialAnimation
      • SimpleLabel
      • SoundEffect
      • StandardDialog
      • StandardDialogNext
      • StandardKeyboardDialog
      • StandardMessageDialog
      • StandardPinPadDialog
      • StandardProgressDialog
      • StdDlgActionCardItem
      • StdDlgBulletTextItem
      • StdDlgButton
      • StdDlgButtonArea
      • StdDlgContentArea
      • StdDlgCustomItem
      • StdDlgDeterminateProgressItem
      • StdDlgGraphicItem
      • StdDlgItemGroup
      • StdDlgKeyboardItem
      • StdDlgMultiStyleTextItem
      • StdDlgProgressItem
      • StdDlgSideCardArea
      • StdDlgTextItem
      • StdDlgTitleArea
      • TargetGroup
      • TargetList
      • TargetSet
      • TimeGrid
      • TrickPlayBar
      • Tween
      • useResolutionContext
      • Vector2DFieldInterpolator
      • Video
      • VideoContentNode
      • VoiceTextEditBox
      • ZoomRowList
      • Components types
    • Flex-grid
      • _resetGlobalHooksForTest
      • binarySearchFloor
      • buildCumY
      • buildUniformCumX
      • buildVariableCumX
      • clearDirty
      • composeHorizontalStrategy
      • computeBobRowReserve
      • computeBobY
      • computeDataRow
      • computeEndZoneStartRow
      • computeScrollYForRow
      • computeTotalContentHeight
      • computeUniformPoolSize
      • computeVariablePoolSize
      • computeVirtualX
      • createBobPlugin
      • createDirectionalPinnedFocusXExtension
      • createEmptyPlaceholderPlugin
      • createFlexGrid
      • createFlexGridEngine
      • createFocusHighlightPlugin
      • createGridStore
      • createNavigationController
      • createPerfPlugin
      • createPinnedFocusXExtension
      • createPool
      • createRowBackdropPlugin
      • createRowCardsClipPlugin
      • createRowTitlePlugin
      • createScrollXOffsetExtension
      • createSmoothScrollBridgePlugin
      • defineFlexGrid
      • findNearestSortedIndex
      • fixedFocusStrategy
      • fixedFocusWrapStrategy
      • floatingFocusStrategy
      • floatingFocusYStrategy
      • gridScrollMs
      • isGridSmoothScrolling
      • isPerfGridPlugin
      • matchRow
      • matchRowWhen
      • resolveFocusConfig
      • resolveGridPlugins
      • setNumRows
      • setRow
      • setRows
      • withZoomFocus
      • Flex-grid types
    • Navigation
      • Bubble
      • computeSGPath
      • createBoundaryState
      • createFocusRelay
      • createKeyPressCaptureRegistry
      • FocusBoundary
      • focusIdLabel
      • FocusPathContext
      • FocusRelayProvider
      • ModalBoundary
      • onPress
      • onRelease
      • RootFocusBoundary
      • ScreenControllerContext
      • ScreenControllerProvider
      • useFocusable
      • useFocusActions
      • useFocusRelayTarget
      • useModal
      • Navigation types
    • Runtime
      • __resetWhenFontReadyForTests
      • createFontReady
      • createSubtleCrypto
      • Crypto
      • Device info
      • getAppInfo
      • getAppMemoryMonitor
      • getAudioGuide
      • getComponentLibraryFactory
      • getFileSystem
      • getFontMeasure
      • getHdmiStatus
      • getPerfetto
      • getRandomBytes
      • getRandomValues
      • getRegistry
      • getSignalBeacon
      • getTextToSpeech
      • getVoiceDictation
      • randomUUID
      • Subtle
      • useAppMemoryMonitor
      • useCec
      • useFileSystem
      • useHdmiStatus
      • useInput
      • useLaunchConfig
      • useLifecycle
      • useVoiceCommands
      • useVoiceDictation
      • whenFontReady
      • Runtime types
    • MCP tools
      • MCP list_devices
      • MCP get_device_ip
      • MCP get_device_dev_id
      • MCP device_start
      • MCP device_stop
      • MCP add_device
      • MCP update_device
      • MCP remove_device
      • MCP activate_device
      • MCP clear_active_device
      • MCP update_default_auth
      • MCP device_reboot
      • MCP device_check_update
      • MCP build_app
      • MCP deploy_app
      • MCP sideload_app
      • MCP get_roku_config
      • MCP stop_dev_session
      • MCP package
      • MCP dcl
      • MCP ecp
      • MCP capture_screen
      • MCP logs
      • MCP decode_stack_trace
      • MCP perfetto_enable
      • MCP perfetto_start
      • MCP perfetto_stop
      • MCP debug_session_create
      • MCP debug_session_end
      • MCP debug_session_status
      • MCP debug_session_update
      • MCP debug_stacktrace
      • MCP debug_state
      • MCP debug_eval
      • MCP debug_breakpoint_set
      • MCP debug_breakpoint_remove
      • MCP debug_breakpoints_list
      • MCP debug_exception_breakpoints_set
      • MCP debug_continue
      • MCP debug_step
      • MCP debug_stop
      • MCP debug_console_read
      • MCP debug_errors_read
      • MCP debug_console_clear
      • MCP cdp_session_create
      • MCP cdp_session_update
      • MCP cdp_session_end
      • MCP cdp_eval
      • MCP cdp_status
      • MCP cdp_heap_usage
      • MCP cdp_profile_start
      • MCP cdp_profile_stop
      • MCP cdp_heap_snapshot
      • MCP cdp_heap_sampling_start
      • MCP cdp_heap_sampling_stop
      • MCP cdp_source_list
      • MCP cdp_source_get
      • MCP cdp_source_grep
      • MCP cdp_source_resolve
      • MCP cdp_console_read
      • MCP cdp_errors_read
      • MCP cdp_console_clear
      • MCP cdp_console_clear_console
      • MCP cdp_console_clear_errors
      • MCP cdp_debugger_pause
      • MCP cdp_debugger_resume
      • MCP cdp_debugger_step_over
      • MCP cdp_debugger_step_into
      • MCP cdp_debugger_step_out
      • MCP cdp_breakpoint_set
      • MCP cdp_breakpoint_remove
      • MCP cdp_breakpoint_list
      • MCP cdp_debugger_state
      • MCP cdp_debugger_eval_frame
      • MCP dap_reconnect
      • MCP dap_threads
      • MCP dap_thread_select
      • MCP dap_thread_stop_reason
      • MCP dap_variables
      • MCP get_server_health
    • rk CLI
      • rk build
      • rk dev
      • rk ecp
      • rk keysequence
      • rk sideload
      • rk update-ai-context
      • rk create
      • rk setup
      • rk decode-stack
      • rk package
      • rk gen-types
      • rk version
      • rk cdp
      • rk debug
      • rk logs
      • rk perfetto
      • rk dap
      • rk dcl
      • rk device
      • rk server
      • rk mcp command
      • rk environment variables
    • rk HTTP
      • HTTP devices
      • HTTP cdp
      • HTTP dap
      • HTTP dcl
      • HTTP decode-stack
      • HTTP build
      • HTTP package
      • HTTP ecp
      • HTTP screen
      • HTTP config
      • HTTP server
      • HTTP mcp
      • HTTP logs
      • HTTP perfetto
      • HTTP debug
    • section-hashes
  • Deprecated APIs
  • Development courses
    • Getting started
      • Streaming overview
      • Creating an SVOD app: First steps
      • Roku development overview
      • Enabling Developer Mode
    • SceneGraph Developers: Build an App
      • Introduction to the course
      • Development setup
      • Core concepts
      • Creating the content feed
      • Creating a Grid Screen
      • Adding the Video Player
      • Debugging apps
      • Creating a Details Screen
      • Creating an Episodes Screen
      • Displaying video ads
      • Offering subscriptions
      • Deep linking
      • Certification testing
  • Demos
    • Developer Summit 2026
    • Doc Portal Upgrades Webinar
    • Developer Summit 2025
    • Catalog 2.0 Webinar
    • Developer Summit 2024
    • Enhanced Subscription Recovery Webinar
    • Roku Resource Monitor Memory Management Webinar
    • Roku Resource Monitor 3.0 Webinar
    • Roku OS 13.0 Developer Features Webinar
    • Roku Pay JWT-secured Push Notifications Webinar
    • Developer Summit 2023
    • Developer Summit 2022
    • Roku Resource Monitor Webinar
    • Roku Advertising Watermark Webinar
    • Roku Voice Webinar
    • Trickplay Thumbnail Webinar
    • Developer Summit 2021
    • Distributing an App in Germany Webinar
    • BrightScript Profiler Webinar
    • Developer Summit 2020
    • BrightScript Remote Network Debug Protocol
    • Automated app testing
    • Managing user access
    • App Tracing (with Perfetto) Webinar
    • Submitting a Roku Search feed
  • Platform features
    • Roku Pay: Simplifying customer payments
    • Running App Behavior Analysis testing on authenticated apps
    • Distributing apps in Europe
    • Roku Voice
  • The Roku Channel overview
  • Roku Content Partner Portal
    • Dashboard
    • Analytics
    • Key features
      • Title tracking status
      • Creatives
  • Video on Demand
    • Premium Subscriptions
    • Roku Originals
      • Branded production guidelines
      • Alternative & documentary production guidelines
      • Scripted production guidelines
      • Alternative production legal guidelines
      • Scripted production legal guidelines
      • Branded delivery specifications
      • Alternative media delivery specifications
      • Scripted media delivery specifications
      • Spanish language - alternative media delivery specifications
      • Feature/doc/special - media delivery specifications
      • Acquired content - scripted media delivery specifications
    • Content delivery
      • Especificaciones para la ingesta
    • Avails and Committed Title List specifications
      • FVOD submissions
    • Content tags and metadata
  • Linear
    • The Roku Channel live linear ingest specifications (OVP)
    • EPG on The Roku Channel
  • FAQs
  1. DEVELOPER
  2. RSG 2.0 SDK documentation
  3. Advanced
  4. rk

rk workflow navigation

See the rk CLI guide for more information about navigating the rk commands and workflows.

Updated about 5 hours ago


rk server managed lifecycle (phase 0 contract)
Knowledge base
Did this page help you?
Terms and Conditions B2B Privacy Notice Developer Site About ads & cookies My Privacy ChoicesCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon Developer Terms & Agreements CA B2B Privacy Notice
© 2008-2026 Roku, Inc.