# Start or join internal meetings (JWT)

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

Use cases internal to your organization do not require any additional token. For example:

-   An internal tool, such as an automated testing app.
-   Starting development with the Meeting SDK, including starting and joining meetings owned by the same Zoom account as the developer.
-   **[Zoom ISV program](/docs/isv/):** A telehealth app that manages meetings between providers and patients. The providers and patients do not need Zoom accounts; the developer manages creating the meeting and distributing the `start_url` and `join_url` to providers and patients, allowing them to join with the Meeting SDK or the standard Zoom web, mobile, or desktop app.

These samples demonstrate how to use the Meeting SDK JWT to join a Zoom meeting or webinar.

```kotlin
val listener = object : ZoomSDKInitializeListener {
    override fun onZoomSDKInitializeResult(p0: Int, p1: Int) {
    }

    override fun onZoomAuthIdentityExpired() {
    }
}

val initParams = ZoomSDKInitParams().apply {
    jwtToken = "" // Pass in your Meeting SDK JWT
    domain = "zoom.us"
    enableLog = true
}

ZoomSDK.getInstance().initialize(context, listener, initParams)
```

```swift
let sdk = MobileRTC.shared()
let initContext = MobileRTCSDKInitContext()

initContext.domain = "https://zoom.us"

let initResult = sdk.initialize(initContext)

guard let authService = sdk.getAuthService(), initResult else {
    return
}

authService.delegate = self
authService.jwtToken = "" // Pass in your Meeting SDK JWT
authService.sdkAuth()
```

```swift
guard let sdk = ZoomSDK.shared() else {
    return
}

let initParams = ZoomSDKInitParams()

sdk.initSDK(with: initParams)
sdk.zoomDomain = "zoom.us"

guard let authService = sdk.getAuthService() else {
    return
}

let authContext = ZoomSDKAuthContext()

authContext.jwtToken = "" // Pass in your Meeting SDK JWT
authService.delegate = self
authService.sdkAuth(authContext)
```

**Web (component view)**

```javascript
client.join({
    signature: signature, // Pass in your Meeting SDK JWT
    meetingNumber: meetingNumber,
    password: password,
    userName: userName,
});
```

**Web (client view)**

```javascript
ZoomMtg.join({
    signature: signature, // Pass in your Meeting SDK JWT
    meetingNumber: meetingNumber,
    passWord: passWord,
    userName: userName,
    success: (success) => {
        console.log(success);
    },
    error: (error) => {
        console.log(error);
    },
});
```

**Windows C++**

```cpp
ZOOM_SDK_NAMESPACE::InitParam initParam;
initParam.strWebDomain = L"zoom.us";
ZOOM_SDK_NAMESPACE::InitSDK(initParam);
ZOOM_SDK_NAMESPACE::IAuthService* authService;
ZOOM_SDK_NAMESPACE::CreateAuthService(authService);
ZOOM_SDK_NAMESPACE::AuthContext authContext;
authContext.jwt_token = L""; // Pass in your Meeting SDK JWT
authService->SDKAuth(authContext);
```

**Windows C#**

```csharp
ZOOM_SDK_DOTNET_WRAP.InitParam initParams = new ZOOM_SDK_DOTNET_WRAP.InitParam();
initParams.web_domain = "zoom.us"
ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.Initialize(initParam);
ZOOM_SDK_DOTNET_WRAP.AuthContext authParam = new ZOOM_SDK_DOTNET_WRAP.AuthContext();
authParam.jwt_token = ""; // Pass in your Meeting SDK JWT
ZOOM_SDK_DOTNET_WRAP.CZoomSDKeDotNetWrap.Instance.GetAuthServiceWrap().SDKAuth(param);
```
