{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/sendgrid/main/json-schema/sendgrid-patch-sso-teammates-request-schema.json", "title": "Single Sign-On Teammate Update Request Body", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/sendgrid-sso-teammates-api-openapi.yml#/components/schemas/PatchSsoTeammatesRequest", "summary": "Single Sign-on Teammate Request Body for update, PATCH, Teammate operations.", "$ref": "#/$defs/SsoTeammatesBaseRequestProps", "$defs": { "PermissionType": { "type": "string", "enum": [ "admin", "restricted" ] }, "Persona": { "type": "string", "enum": [ "accountant", "developer", "marketer", "observer" ] }, "SsoTeammatesBaseRequestProps": { "type": "object", "properties": { "first_name": { "type": "string", "description": "Set this property to the Teammate's first name." }, "last_name": { "type": "string", "description": "Set this property to the Teammate's last name." }, "is_admin": { "type": "boolean", "description": "Set this property to `true` if the Teammate has admin permissions. You should not include the `scopes` or `persona` properties when setting the `is_admin` property to `true`—an admin will be allocated all scopes. See [**Teammate Permissions**](https://docs.sendgrid.com/ui/account-and-settings/teammate-permissions) for a complete list of scopes." }, "persona": { "type": "string", "description": "A persona represents a group of permissions often required by a type of Teammate such as a developer or marketer. Assigning a persona allows you to allocate a group of pre-defined permissions rather than assigning each scope individually. See [**Teammate Permissions**](https://docs.sendgrid.com/ui/account-and-settings/teammate-permissions) for a full list of the scopes assigned to each persona.", "$ref": "#/$defs/Persona" }, "scopes": { "type": "array", "description": "Add or remove permissions from a Teammate using this `scopes` property. See [**Teammate Permissions**](https://docs.sendgrid.com/ui/account-and-settings/teammate-permissions) for a complete list of available scopes. You should not include this propety in the request when using the `persona` property or when setting the `is_admin` property to `true`—assigning a `persona` or setting `is_admin` to `true` will allocate a group of permissions to the Teammate.", "items": { "type": "string" } }, "has_restricted_subuser_access": { "type": "boolean", "description": "Set this property to `true` to give the Teammate permissions to operate only on behalf of a Subuser. This property value must be `true` if the `subuser_access` property is not empty. The `subuser_access` property determines which Subusers the Teammate may act on behalf of. If this property is set to `true`, you cannot specify individual `scopes`, assign a `persona`, or set `is_admin` to `true`—a Teammate cannot specify scopes for the parent account and have restricted Subuser access." }, "subuser_access": { "type": "array", "description": "Specify which Subusers the Teammate may access and act on behalf of with this property. If this property is populated, you must set the `has_restricted_subuser_access` property to `true`.", "items": { "type": "object", "description": "An array of Subusers to which the Teammate should have access.", "properties": { "id": { "type": "integer", "description": "Set this property to the ID of a Subuser to which the Teammate should have access. You can retrieve Subuser IDs from the [Subusers API](https://docs.sendgrid.com/api-reference/subusers-api/)." }, "permission_type": { "type": "string", "description": "Grant the level of access the Teammate should have to the specified Subuser with this property. This property value may be either `admin` or `restricted`. When set to `restricted`, the Teammate has only the permissions assigned in the `scopes` property.", "$ref": "#/$defs/PermissionType" }, "scopes": { "type": "array", "description": "Add or remove permissions that the Teammate can access on behalf of the Subuser. See [**Teammate Permissions**](https://docs.sendgrid.com/ui/account-and-settings/teammate-permissions) for a complete list of available scopes. You should not include this property in the request when the `permission_type` property is set to `admin`—administrators have full access to the specified Subuser.", "items": { "type": "string" } } }, "required": [ "id", "permission_type" ] } } }, "required": [ "first_name", "last_name" ] } } }