# Start a meeting The Zoom Meeting SDK enables you to embed Zoom's complete meeting experience directly into your platform, allowing users to host and join meetings without leaving your application or webpage. When a user wants to start a meeting, first retrieve the meeting details from your database. You can then connect the host to their meeting using one of two methods: - Pass the `start_url` directly to the host, which opens the meeting in their Zoom client. - Use the meeting information to initialize the Meeting SDK and programmatically start the meeting for the host directly within your platform. Endpoint: [Get User token](/docs/api/users/#tag/users/get/users/{userId}/token) Granular Scopes: `user:read:token`, `user:read:token:admin` ![](/img/create-user.png) This workflow describes starting a meeting using [Zoom Meeting Web SDK](/docs/meeting-sdk/web/). 1. After [creating a meeting](/docs/isv/workflows/create-meeting/), save the meeting's _id_ and _password_ to your database. You'll use the _id_ to generate the SDK signature and the password to start the meeting. 2. To start the meeting, use the [Get a User’s Token](/docs/api/users/#tag/users/get/users/{userId}/token) request to retrieve the user's authentication token (ZAK - Zoom Access Key). 3. [Generate the signature](/docs/meeting-sdk/auth/) used to authenticate the SDK. Take note of the following values: - For `role` key, use the value **1** for host. - For `mn` key, use the value of the meeting `id`. - You can use this [sample code](https://github.com/zoom/meetingsdk-auth-endpoint-sample) to generate the signature. 4. Initialize the SDK using the `init` method. **Y** 5. [Start the meeting](/docs/meeting-sdk/web/client-view/meetings/#start-meeting) using the `client.join` method. Each `ZoomMtg join` method call needs to be inside `ZoomMtg init` method success callback. For the join method, take note of the following values: - For ZAK value, use the host’s ZAK token. - For meetingNumber value, use the value of meeting id. The value must be the same used in the SDK signature. For more information, see the [start meeting code sample](/docs/meeting-sdk/web/client-view/meetings/#start-meeting). ## Sample API Call CURL Command ```shell curl --location --request POST 'https://api.zoom.us/v2/users/{userid}/token' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data-raw '{"type": "zak", "ttl": "7200"}' ``` Sample response ```json { "token": "6IjAwMDAwMSIsInptX3NrbSI6InptX" } ``` ## Init SDK & Client.Join Javascript example ```javascript ZoomMtg.init({ leaveUrl: leaveUrl, // https://example.com/thanks-for-joining success: (success) => { ZoomMtg.join({ sdkKey: sdkKey, signature: signature, // role in SDK signature needs to be 1 meetingNumber: meetingNumber, passWord: passWord, userName: userName, zak: zakToken, // the host's ZAK token success: (success) => { console.log(success); }, error: (error) => { console.log(error); }, }); }, error: (error) => { console.log(error); }, }); ```