Step 1: Create a User
To create a new user, you will use the Users: Create endpoint (see docs). In the request body, the required fields to create a user are:
- id
- firstName
- lastName
- emailAddress
If you want the newly created user to be able to log into the Yext platform upon creation, then you will also need to provide at least one Access Control in the acl field of the request body. An Access Control (ACL) is defined by:
- The roleIdandroleNamefields, which can be found by making a request to:
- The onTypefield, which represents the type of object the role is to be applied to. This value is one of:- ACCOUNT - if you would like the user to have the permissions associated with the selected role on the entire account
- ENTITY - if you would like the user to have the permissions associated with the selected role on a specific entity
- FOLDER - if you would like the user to have the permissions associated with the selected role on the entities in a specific folder
 
- The onfield, which represents the id of the object the role is to be applied to. For example:- If onType = ACCOUNT, on== account id
- If onType = ENTITY, onis the entity id
- If onType = FOLDER, onis the folder id
 
- If onType = ACCOUNT, 
- The accountIdfield, which is the id of the Yext account the user should be created under.
Now, you are ready to make your call! In this example, we are creating a user for John Doe with the built-in Account Manager role applied to the full account.
POST https://api.yextapis.com/v2/accounts/{accountId}/users?v=YYYYMMDD&api_key=API_KEY
{
	"id": "testUser",
	"firstName": "John",
	"lastName": "Doe",
	"username": "johnDoeSuperTest",
	"emailAddress": "john.doe@emails.com",
	"acl": [{
		"roleId": "20",
		"roleName": "Account Manager",
		"on": "Your account id",
		"accountId": "You account id",
		"onType": "ACCOUNT"
	}]
}If the request is successful, you will get a 201 response containing the User id you provided.
                <% elem.innerText %>
              
            