Unable to Access Layers API Drawing Functions in Zoom App (drawImage / drawParticipant) Despite Correct Manifest

Zoom Apps Configuration
Vite, React, ZoomSDK, Node.js

Description
I am developing a Zoom App using Vite, React, and @zoom/appssdk, and I am attempting to use the Layers API (Immersive Apps) to draw content outside of the sidebar panel. Specifically, I need functions such as drawImage, drawParticipant, and runRenderingContext for displaying a small timer overlay on the meeting canvas for all participants.

No Permission for this API.
code: 80002
reason: unknown_api_name

No Permission for this API.
code: 80004
reason: app_not_support

It happens when clicking on thiszoomSdk.drawImage()
zoomSdk.drawParticipant()
zoomSdk.runRenderingContext(

Error?
No Permission for this API. [code:80002, reason:unknown_api_name]Status: Draw failed

Troubleshooting Routes
I have already attempted:

  • Confirmed Zoom desktop client v5.10.6+ is installed
  • Tested using the “Test Installation” with a hosted manifest URL
  • Enabled all relevant capabilities in Zoom Marketplace:
    • runRenderingContext
    • closeRenderingContext
    • drawImage
    • clearImage
    • drawParticipant
    • clearParticipant
    • broadcastApp
    • getRunningContext
    • onRenderedAppOpened
  • Verified the manifest.json includes the same capabilities
  • Reviewed and tested with the official Zoom Layers/Immersive sample apps
  • Verified I am not mixing Video SDK and Zoom App SDK
  • Verified that non-drawing APIs (such as showNotification) work correctly

The app loads successfully in the side panel, but all drawing-related APIs remain blocked.

How To Reproduce

  1. Create a Zoom App using the latest @zoom/appssdk.
  2. Add immersive/drawing capabilities to zoomSdk.config.
  3. Call zoomSdk.runRenderingContext(...) or zoomSdk.drawImage(...).
  4. Launch the app in a normal Zoom meeting via Test Installation.
  5. The app loads correctly, but drawing calls fail with the above errors.

Question
Before submitting for Marketplace review, I need clarification:

  1. Are Layers API / drawing APIs disabled for unapproved Zoom Apps?
  2. Is Marketplace approval required before runRenderingContext, drawImage, or drawParticipant will function?
  3. Is there any method to fully test these APIs prior to Marketplace approval?

I would like to confirm the expected behavior before preparing a full submission.

Thank you.

2 Likes

It sounds like what you’re running into is expected—Zoom’s Layers API and drawing functions like drawImage and drawParticipant are currently restricted to apps that have gone through Marketplace approval. Even if your manifest and capabilities look correct, unapproved apps won’t have access, which is why you’re seeing unknown_api_name and app_not_support errors. The only reliable way to fully test these APIs is in a Marketplace-approved app or by working with Zoom’s developer support to get a pre-approval test environment.