Creating a new subuser through SendGrid's API is a multi-step process. This guide will walk you through the necessary steps to create a new subuser account using only API calls.
With the subuser creation API call you will be able to establish the new subuser's account and profile settings. This call will create the new subuser account. However, it does not apply the sending IP for the account, nor does it establish a domain authentication entry or enable website/SMTP access for the subuser.
https://api.sendgrid.com/apiv2/customer.add.json?api_user=ryan.burrer@sendgrid.com&api_key=xxxxxx&username=newsubuser_username&website=yourdomain.com&password=newsubuser_password&confirm_password=newsubuser_password&first_name=Ryan&last_name=Burrer&address=555_anystreet&city=any_city&state=CO&zip=80203&email=example@example.com&country=US&phone=555-5555
Success Message
Failure Message
Now that you have created the new subuser account, you will need to add an IP so that it can send emails. We advise that you first find an available IP for this subuser. You can do so by using the following call:
https://api.sendgrid.com/apiv2/customer.ip.xml?api_user=ryan.burrer@sendgrid.com&api_key=xxxxxx&list=all
When defining the parameter 'list', there are a few options you can choose:
Response Example
After you have selected the IP that you wish to assign to your subuser account, make the API call to append the IP address.
https://api.sendgrid.com/apiv2/customer.sendip.json?api_user=ryan.burrer@sendgrid.com&api_key=xxxxxx&task=append&set=specify&user=newsubuser_username&ip[]=255.255.255.250&ip[]=255.255.255.255
When defining this call's 'set' parameter, you have a few options for appending the subuser's IP:
Success Message
Failure Message
After you have created the subuser account and have appended an IP address, you are now ready to assign an existing authenticated domain to the account. If you have not yet created the required records for authenticating your chosen domain then this step should be skipped.
First, you should find out what authenticated domains you have associated with your account. This call will list your available authenticated domains:
https://api.sendgrid.com/apiv2/customer.whitelabel.json?api_user=ryan.burrer@sendgrid.com&api_key=xxxxxx&task=list
Response Example
The API response above shows that email.sendgrid.com and email.example.com are both already established domain entries, and can be used by this subuser. If none are displayed then the next step in this process should be skipped.
If you have an authenticated domain entry that you wish to apply to your subuser then you will need to append the authenticated domain entry to your subuser:
https://api.sendgrid.com/apiv2/customer.whitelabel.json?api_user=ryan.burrer@sendgrid.com&api_key=xxxxxx&task=append&user=newsubuser_username&mail_domain=YOUR.ALREADY.EXISTING.AUTHENTICATED_DOMAIN
Success Message
Failure Message
The final step in creating your new subuser requires you to activate the subuser account so that they have a website and SMTP access.
https://api.sendgrid.com/apiv2/customer.auth.json?api_user=ryan.burrer@sendgrid.com&api_key=xxxxxx&user=newsubuser_username&password=newsubuser_password
Success Message
Failure Message