Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Update teammate's permissions



API Overview

api-overview page anchor

Twilio SendGrid's Teammates feature allows multiple users, or "Teammates," to work from a single SendGrid account.

Teammates enables groups of users with different roles and responsibilities to share one account, where each of these users has access to varying SendGrid features depending on their needs. By only giving your individual team members access to the features that they need to do their jobs, you can limit access to sensitive areas of your account. Teammates makes it easy to add, remove, and manage different users. See the Teammate Permissions documentation for more information about managing user permissions.

(information)

Info

Free and Essentials plans allow for adding one Teammate per account and do not offer Single Sign-On (SSO), while Pro and higher plans allow for up to 1,000 Teammates and include SSO and other features. Learn more about the different Email API Plans on our pricing page(link takes you to an external page).


You can think of Subusers like subaccounts. Each Subuser account is its own email ecosystem with isolated contacts, templates, suppressions, and data. Subusers feed off their parent account email credits, and all billing rolls up to the parent account. Teammates may have access to a parent account, a group of Subusers, or a single Subuser account only.


PATCH/v3/teammates/{username}

Base url: https://api.sendgrid.com

This endpoint allows you to update a teammate’s permissions.

To turn a teammate into an admin, the request body should contain an is_admin set to true. Otherwise, set is_admin to false and pass in all the scopes that a teammate should have.

Only the parent user or other admin teammates can update another teammate’s permissions.

Admin users can only update permissions.


Authentication

authentication page anchor
Property nameTypeRequiredDescription
Authorizationstringrequired
Default: Bearer <<YOUR_API_KEY_HERE>>

on-behalf-ofstringOptional

The on-behalf-of header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be "account-id" followed by the customer account's ID (e.g., on-behalf-of: account-id <account-id>). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., on-behalf-of: <subuser-username>). See On Behalf Of for more information.

Property nameTypeRequiredDescription
usernamestringrequired

The username of the teammate that you want to retrieve.

SchemaExample
Property nameTypeRequiredDescriptionChild properties
scopesarray[string]required

Provide list of scopes that should be given to teammate. If specifying list of scopes, is_admin should be set to False.


is_adminbooleanrequired

Set to True if this teammate should be promoted to an admin user. If True, scopes should be an empty array.

200400404
SchemaExample
Property nameTypeRequiredDescriptionChild properties
usernamestring

Teammate's username


first_namestring

Teammate's first name


last_namestring

Teammate's last name


emailstring

Teammate's email address


scopesarray[string]

Scopes given to teammate


user_typeenum<string>

Indicate the type of user: owner user, teammate admin user, or normal teammate

Possible values:
adminownerteammate

is_adminboolean

Set to true if teammate has admin priveleges


phonestring

(optional) Teammate's phone number


websitestring

(optional) Teammate's website


addressstring

(optional) Teammate's address


address2string

(optional) Teammate's address


citystring

(optional) Teammate's city


statestring

(optional) Teammate's state


zipstring

(optional) Teammate's zip


countrystring

(optional) Teammate's country

Update teammate's permissions

update-teammates-permissions page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
curl

_26
const client = require('@sendgrid/client');
_26
client.setApiKey(process.env.SENDGRID_API_KEY);
_26
_26
const username = "ZGkrHSypTsudrGkmdpJJ";
_26
const data = {
_26
"scopes": [
_26
"user.profile.read",
_26
"user.profile.edit"
_26
],
_26
"is_admin": false
_26
};
_26
_26
const request = {
_26
url: `/v3/teammates/${username}`,
_26
method: 'PATCH',
_26
body: data
_26
}
_26
_26
client.request(request)
_26
.then(([response, body]) => {
_26
console.log(response.statusCode);
_26
console.log(response.body);
_26
})
_26
.catch(error => {
_26
console.error(error);
_26
});


Rate this page: