# How to create a user and assign scheduling privilege programmatically While users will have to grant scheduling privilege through Zoom's Web portal, a user can be programmatically added as the meeting assistant with our Add assistant API. [Scheduling privilege](https://support.zoom.us/hc/en-us/articles/201362803) is designed so: - You can also schedule meetings on behalf of a user (or multiple users) that has assigned you scheduling privilege. - Users with scheduling privilege on your account will be able to manage and act as an alternative host for all meetings. **\*Note:** You should be aware that assistants are the users to whom the current user has assigned\* _[scheduling privileges](https://support.zoom.us/hc/en-us/articles/201362803-Scheduling-Privilege). Assistants can schedule meetings on behalf of the current user as well as manage and act as an alternative host for all meetings if the admin has enabled the Co-host [option](https://zoom.us/account/setting)_ _on the account. Keep in mind you can not add a scheduler, you only can add an assistant. However, you can [list](/docs/api/users/#tag/users/GET/users/{userId}/schedulers) and [delete schedulers](/docs/api/users/#tag/users/DELETE/users/{userId}/schedulers). Here is a list of relevant meeting Assistants API endpoint:_ - [List user assistants](/docs/api/users/#tag/users/GET/users/{userId}/assistants) - [Add assistants](/docs/api/users/#tag/users/POST/users/{userId}/assistants) - [Delete user assistants](/docs/api/users/#tag/users/DELETE/users/{userId}/assistants) - [Delete a user assistants](/docs/api/users/#tag/users/DELETE/users/{userId}/assistants/{assistantId}) - [List user schedulers](/docs/api/users/#tag/users/GET/users/{userId}/schedulers) - [Delete user schedulers](/docs/api/users/#tag/users/DELETE/users/{userId}/schedulers) - [Delete a scheduler](/docs/api/users/#tag/users/DELETE/users/{userId}/schedulers/{schedulerId}) ## Prerequisites - Both you and the assigned scheduler (assistant) must have a **Pro** license. A Pro license will show up as "Licensed" in your Zoom profile. ## Steps 1. Create a user with our [Create Users](/docs/api/users/#tag/users/POST/users) API (skip this step if the user already has an account). 2. Make a POST request with the created `userID` passed as the path parameter and add yourself as the assistant with our [Add assistants](/docs/api/users/#tag/users/POST/users/{userId}/assistants) API. ```json { "assistants": [ { "id": "sfdsfdfdg", "email": "example@example.com" } ] } ``` 3. To verify you are able to schedule a meeting for that user, make a request to our [List User Assistants](/docs/api/users/#tag/users/GET/users/{userId}/assistants) API. `Get https://api.zoom.us/v2/users/example@example.com/assistants` 4. Now you can schedule meetings for this user. To do so, when you [update a meeting](/docs/api/meetings/#tag/meetings/PUT/meetings/{meetingId}/status), pass the `userID` in the `schedule_for` field.