# Invalid Parameter, error code: 4003

**URL:** <https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627>\
**Category:** Web\
**Tags:** sdk\
**Created:** [June 5, 2023, 1:06pm UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627 "2023-06-05T13:06:32Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 5, 2023, 1:06pm UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/1 "2023-06-05T13:06:33Z")

</div>

### {type: ‘JOIN\_MEETING\_FAILED’, reason: ‘Invalid Parameter’, errorCode: 4003}:

**I am working on next js 13 and using zoom sdk for my app requirements . I am getting this error when a user of my app is trying to join the meeting. Let me show you my code.**

**Code :**

```auto
"use client"

import ZoomMtgEmbedded from '@zoomus/websdk/embedded';

import React, { useEffect } from "react";
const KJUR = require("jsrsasign");

interface IParams {
    meetingId: string;
}

const page = ({ params }: { params: IParams }) => {

    const { meetingId } = params;

    useEffect(() => {
        let client: any;

        const initializeMeeting = async () => {
            try {
                const ZoomEmbed = (await import('@zoomus/websdk/embedded')).default;
                client = ZoomMtgEmbedded.createClient();
                const meetingSDKElement = document.getElementById('meetingSDKElement');
                client.init({
                    language: 'en-US',
                    zoomAppRoot: meetingSDKElement ? meetingSDKElement : undefined,
                });
                const iat = Math.round(new Date().getTime() / 1000) - 30;
                const exp = iat + 60 * 60 * 2;

                const Header = {
                    alg: "HS256",
                    type: "JWT",
                };

                const payload = {
                    sdkKey: process.env.NEXT_PUBLIC_SDK_KEY,
                    mn: +meetingId,
                    role: 1,
                    iat: iat,
                    exp: exp,
                };

                const sHeader = JSON.stringify(Header);
                const sPayload = JSON.stringify(payload);

                const meetingSignature = await KJUR.KJUR.jws.JWS.sign(
                    "HS256",
                    sHeader,
                    sPayload,
                    process.env.NEXT_PUBLIC_SDK_SECRET
                );

                client.join({
                    sdkKey: process.env.NEXT_PUBLIC_SDK_KEY,
                    signature: meetingSignature,
                    meetingNumber: +meetingId,
                    userName: 'Ravi gupta',
                    userEmail: 'ravi2611gupta@gmail.com',
                    password: `804939`,
                    tk: ''
                });
            } catch (error) {
                console.log('--- Error inside useEffect ---> ', error);
            }
        };

        initializeMeeting();

        return () => {
            if (client) {
                console.log(client);
            }
        };
    }, []);

    return <div id='meetingSDKElement' className='w-full h-full p-32 bg-red-200'>

    </div>
}

export default page

```

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [June 6, 2023, 7:37am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/2 "2023-06-06T07:37:54Z")

</div>

Hi @ravi.gupta ,

is it possible that the quotes for password are invalid?

```auto
password: `804939`
```

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 7, 2023, 11:42am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/3 "2023-06-07T11:42:05Z")

</div>

Hello, @chunsiong.zoom ,  
Thanks for your reply, but I have tried this before. I have been send the password as string and numeric from both, but issues didn’t resolved.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [June 8, 2023, 12:47am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/4 "2023-06-08T00:47:19Z")

</div>

are you able to share your JWT token? an expired one is fine

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 9, 2023, 6:22am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/5 "2023-06-09T06:22:28Z")

</div>

Sure,

eyJhbGciOiJIUzI1NiIsInR5cGUiOiJKV1QifQ.eyJzZGtLZXkiOiJKR1pEdmZoNlNleTdZam03d2ltVzlnIiwibW4iOjg5MTQzNzE3Nzk2LCJyb2xlIjoxLCJpYXQiOi0xNjg2MjkxNjk4LCJleHAiOi0xNjg2MjkxNjM4fQ.qVTXZyDlyM5HqHXyFjo6aggLpLCVJ32qcBTV9gIBYeo

---

<div class="post-metadata">

**Author:** ![j.schoenemeyer](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@j.schoenemeyer](https://devforum.zoom.us/u/j.schoenemeyer)\
**Post date:** [June 9, 2023, 6:53am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/6 "2023-06-09T06:53:27Z")

</div>

you can checked your signature on [https://jwt.io/](https://jwt.io/)

result payload

```auto
{
  "sdkKey": "JGZDvfh6Sey7Yjm7wimW9g",
  "mn": 89143717796,
  "role": 1,
  "iat": -1686291698,
  "exp": -1686291638
}

```

**iat** and **exp** of your signature is negative and **tokenExp** is missing

more infos for troubleshooting

> **[Troubleshooting Zoom Meeting SDK Signature Validation](https://dev.to/zoom/troubleshooting-zoom-meeting-sdk-signature-validation-1hln)**
>
> In this guide, we’ll cover common issues you may run into when generating a signature for the Zoom...

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [June 9, 2023, 6:53am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/7 "2023-06-09T06:53:47Z")

</div>

@ravi.gupta , your IAT and EXP are in negative value. you need them to be after EPOCH time

and yes @j.schoenemeyer mentioned your tokenExp is missing too

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 9, 2023, 7:29am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/8 "2023-06-09T07:29:40Z")

</div>

@chunsiong.zoom I’ve made it negative for generate a expired token. but after after adding tokenExp, the error is still the same

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/7/8/7817fe2b7ec3b809bddb95cae4104f702964082b.png)

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/e/c/ec1ad2edcb27ca08a26b296b9212230e254ffe50.png)

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [June 9, 2023, 7:48am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/9 "2023-06-09T07:48:56Z")

</div>

is there any additional error in the console log?

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 9, 2023, 9:42am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/10 "2023-06-09T09:42:55Z")

</div>

![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/1/8/181bdc1ae00c9ceb83cc07892b1ea76900f7b9e6.png)

@chunsiong.zoom no.

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 9, 2023, 10:07am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/11 "2023-06-09T10:07:21Z")

</div>

Hey @chunsiong.zoom can we connect somewhere can you please review my code? It is really very urgent that’s why I’m asking you.

---

<div class="post-metadata">

**Author:** ![j.schoenemeyer](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@j.schoenemeyer](https://devforum.zoom.us/u/j.schoenemeyer)\
**Post date:** [June 9, 2023, 10:11am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/12 "2023-06-09T10:11:56Z")

</div>

you use React 18 ?

meeting SDK uses **React v16.13.0** and is - as far as I know - not compatible to React 17/18

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 9, 2023, 10:21am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/14 "2023-06-09T10:21:53Z")

</div>

but client view is working properly.

---

<div class="post-metadata">

**Author:** ![chunsiong.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/chunsiong.zoom/32/35488_2.png) [@chunsiong.zoom](https://devforum.zoom.us/u/chunsiong.zoom)\
**Post date:** [June 9, 2023, 10:51am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/15 "2023-06-09T10:51:07Z")

</div>

@ravi.gupta ,

could you refer to this, and check if the existing JWT works with this code sample?

For client view, you will need to use react 16

---

<div class="post-metadata">

**Author:** ![j.schoenemeyer](https://avatars.discourse-cdn.com/v4/letter/j/f9ae1b/32.png) [@j.schoenemeyer](https://devforum.zoom.us/u/j.schoenemeyer)\
**Post date:** [June 9, 2023, 1:18pm UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/16 "2023-06-09T13:18:59Z")

</div>

in your screenshot there is a React 18 warning message “ReactDOM.render is no longer supported in React 18 …”

if you are running React 18, the meeting SDK cannot run anymore

React 16 is not compatible with React 17 or React 18

---

<div class="post-metadata">

**Author:** ![ravi.gupta](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ravi.gupta/32/49261_2.png) [@ravi.gupta](https://devforum.zoom.us/u/ravi.gupta)\
**Post date:** [June 12, 2023, 7:02am UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/17 "2023-06-12T07:02:19Z")

</div>

🙏 So, please tell me what’s the solution of this problem. because it is really very urgent for me.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [July 12, 2023, 5:02pm UTC](https://devforum.zoom.us/t/invalid-parameter-error-code-4003/89627/18 "2023-07-12T17:02:43Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
