# Create a user The ISV program enables you to create users and meetings programmatically. This workflow demonstrates how to create an ISV compliant `custCreate` user as well as how to create and join meetings. Endpoint: [custCreate](/docs/api/users/#tag/users/POST/users) Granular Scopes Required: `user:write:admin`, `meeting:write:Admin` ![](/img/create-user.png) 1. When a user signs up for or is assigned to use your service, you use the [create a user API](/docs/api/users/#tag/users/POST/users) endpoint to create a Zoom user account for them. 2. For ISV, below are the required requirements for user creation\*: - For **action** field, the value must be custCreate. - For **email** field, the email format should follow the following format `{UniqueIdentifier}@ISV.{aDomainYouOwn}.com`. - For **type** field, the value must be 2. All users should be licensed to host a meeting. 3. The _id_ returned should be saved to your user table and associated with the user. When this user interacts with the Zoom platform you will use this _id_. ## Sample API Call CURL command: ```shell curl --location --request POST 'https://api.zoom.us/v2/users' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ --data-raw '{"action": "custCreate", "user_info": {"email": "", "first_name": "John","last_name": "Doe","type": 2}}' ``` Sample Response: ```json { "id": "_SObcJT7Q52O58dcGd9KhQ", "first_name": "John", "last_name": "Doe", "email": "dGljbw==@isv.domain.com", "type": 2 } ```