{"type": "INVALID_PARAMETERS", "reason": "userId is not correct" }, { "type": "INVALID_PARAMETERS", "reason": "userId is not correct" }

I am using zoomus/websdk component view.

When i join the meeting, {“type”: “INVALID_PARAMETERS”, “reason”: “userId is not correct” } error is logged.

When i end the meeting {type: ‘IMPROPER_MEETING_STATE’, reason: ‘closed’} is displayed.

How are these errors to be handled?


Thank you for reaching out to the Developer Forum. In order to provide you with the best possible support, we kindly request that you share a screenshot of the browser console and include your Web SDK join method. By providing us with this information, we will be able to better understand the context of the issue and help diagnose what may be happening. Once we have this information we can help diagnose what may be happening.

Init and Join methods!

try {
const client = await ZoomMtgEmbedded.createClient();

  const tmpPort = window.location.port === "" ? "" : ":" + window.location.port;

  const avLibUrl =
    window.location.protocol +
    "//" +
    window.location.hostname +
    tmpPort +
  let meetingSDKElement = document.getElementById('meetingSDKElement')

    debug: true,
    webEndpoint: 'zoom.us',
    zoomAppRoot: meetingSDKElement,
    language: 'en-US',
    assetPath: avLibUrl,
    disableDraggable: true,
    leaveUrl: 'http://localhost:3000/dashboard',
    customize: {
      video: {
        isResizable: false,
        defaultViewType: "gallery",
        popper: {
          disableDraggable: true,
        viewSizes: {
          default: {
            width: 600,
            height: "100%",
  }).then((res) => {
  }).catch((error) => {

    topic: 'Meeting',
    sdkKey: process.env.REACT_APP_SDK_KEY,
    signature: signature,
    meetingNumber: "83147374877",
    password: "177610",
    userName: "Linux#chrome/",
    success: function (res) {

    error: function (res) {
  }).then((res) => {

  }).catch((res) => {
    console.log('catch error', res);
} catch (error) {

When i join the meeting

When i end the meeting:

I have followed the @zoomus/websdk - npm and the Meeting SDK - web - component view - Meetings documentations. I am just unable to solve mentioned issue.

This meeting sdk is being integrated in react. Is there something extra to be configured in the project? Please give me the solution for the above mentioned issue such that it works on both PRODUCTION and DEVELOPMENT.

It is unclear what issue you are facing. Are you saying that the SDK works in the developer environment but not in production? If that is the case, could you please explain how you are deploying to production and provide details about what was working and what broke during your developer process? Deploying the SDK should not require any additional configuration.

Additionally, please verify that you are using the correct user ID. I recommend double-checking the role you have when joining the meeting. Are you the host or a participant?

Any updates on what I should do with this? I’m getting the same error using a react project and very baseline (the react-sample app).

I’ve looked at the min.js file and it seems to be something around if(!l().video.subscribedVideoList.includes(n))return Promise.reject({type:Np,reason:"userId is not correct"})

The question is “what is video.subscribedVideoList” and "how do I get it to include “n” (whatever n is at this point)

You need to install the specified packages as part of the project’s development dependencies. These packages are crucial for customizing the default behavior of a Create React App. The reason for this customization is that the SDK utilized in the project requires specific headers to be passed to the application.

Furthermore, the provided ‘config-overrides.js’ script should be added to the ‘src’ directory of your project. This script utilizes the functionalities provided by ‘customize-cra’, ‘copy-webpack-plugin’, and other packages to modify the webpack configuration.

  1. Add the following dependencies to your project’s ‘devDependencies’ in the ‘package.json’ file:
npm install --save-dev copy-webpack-plugin customize-cra react-app-rewired write-file-webpack-plugin
  1. Customization Script: Create a ‘config-overrides.js’ file with the following content and place it in the ‘src’ directory of your project:
const { override, addWebpackPlugin, overrideDevServer } = require('customize-cra');
const path = require('path');
const CopyPlugin = require('copy-webpack-plugin');
const addDevServerCOOPReponseHeader = (config) => {
    config.client = {
        overlay: {
            errors: false,
            warnings: false,
            runtimeErrors: false,
    config.headers = {
        'Cross-Origin-Embedder-Policy': 'require-corp',
        'Cross-Origin-Opener-Policy': 'same-origin'
    config.devMiddleware = {
        writeToDisk: true,
    return config;

module.exports = {
    webpack: override(
            new CopyPlugin({
                patterns: [
                        from: path.resolve(__dirname, 'node_modules', '@zoomus', 'websdk', 'dist', 'lib', 'av'),
                        to: path.resolve(__dirname, 'public', 'lib')
    devServer: overrideDevServer(addDevServerCOOPReponseHeader)

I hope this helps :)Preformatted text

Does this need to be added to get some of the normal MeetingSDK customization working?

If so, why?