Twilio SendGrid Single Sign-On API

The Single Sign-On API allows you to manage your SAML 2.0 SSO configurations. You can also work with your SSO integrations using the SSO section of the [Twilio SendGrid application user interface](https://app.sendgrid.com/settings/sso). The Single Sign-On Settings operations allow you to create, retrieve, modify, and delete SSO integrations for your Twilio SendGrid account. Each integration will correspond to a specific IdP such as Okta, Duo, or Microsoft Azure Active Directory.

OpenAPI Specification

tsg_sso_v3.yaml Raw ↑
openapi: 3.1.0
security:
- BearerAuth: []
info:
  title: Twilio SendGrid Single Sign-On API
  summary: The Single Sign-On API allows you to manage your SAML 2.0 SSO configurations.
  description: 'The Single Sign-On API allows you to manage your SAML 2.0 SSO configurations.
    You can also work with your SSO integrations using the SSO section of the [Twilio
    SendGrid application user interface](https://app.sendgrid.com/settings/sso).


    The Single Sign-On Settings operations allow you to create, retrieve, modify,
    and delete SSO integrations for your Twilio SendGrid account. Each integration
    will correspond to a specific IdP such as Okta, Duo, or Microsoft Azure Active
    Directory.


    The Single Sign-On Certificates operations allow you to create, modify, and delete
    SSO certificates. A SAML certificate allows your IdP and Twilio SendGrid to verify
    requests are coming from one another using the `public_certificate` and `integration_id`
    parameters.


    The Single Sign-On Teammates operations allow you to add and modify SSO Teammates.
    SSO Teammates are the individual user accounts who will access your Twilio SendGrid
    account with SSO credentials. To retrieve or delete an SSO Teammate, you will
    use the separate [Teammates API](https://docs.sendgrid.com/api-reference/teammates/).'
  termsOfService: https://www.twilio.com/legal/tos
  contact:
    name: Twilio SendGrid Support
    url: https://support.sendgrid.com/hc/en-us
  license:
    name: MIT
    url: https://code.hq.twilio.com/twilio/sendgrid-oas/blob/main/LICENSE
  version: 1.0.0
  x-sendgrid:
    libraryPackage: sso
servers:
- url: https://api.sendgrid.com
  description: for global users and subusers
- url: https://api.eu.sendgrid.com
  description: for EU regional subusers
paths:
  /v3/sso/certificates:
    post:
      operationId: CreateSsoCertificate
      summary: Create an SSO Certificate
      tags:
      - SSO Certificates
      description: '**This endpoint allows you to create an SSO certificate.**'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: ''
              properties:
                public_certificate:
                  type: string
                  description: This public certificate allows SendGrid to verify that
                    SAML requests it receives are signed by an IdP that it recognizes.
                enabled:
                  type: boolean
                  description: Indicates if the certificate is enabled.
                integration_id:
                  type: string
                  description: An ID that matches a certificate to a specific IdP
                    integration. This is the `id` returned by the "Get All SSO Integrations"
                    endpoint.
              required:
              - public_certificate
              - integration_id
              example:
                public_certificate: <your x509 certificate>
                enabled: false
                integration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoCertificateBody'
              examples:
                response:
                  value:
                    public_certificate: <your x509 certificate>
                    id: 66138975
                    not_before: 1621289880
                    not_after: 1621289880
                    intergration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
  /v3/sso/certificates/{cert_id}:
    parameters:
    - name: cert_id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: GetSsoCertificate
      summary: Get an SSO Certificate
      tags:
      - SSO Certificates
      description: '**This endpoint allows you to retrieve an individual SSO certificate.**'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoCertificateBody'
              examples:
                response:
                  value:
                    public_certificate: <your x509 certificate>
                    id: 66138975
                    not_before: 1621289880
                    not_after: 1621289880
                    intergration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
    patch:
      operationId: UpdateSsoCertificate
      summary: Update SSO Certificate
      tags:
      - SSO Certificates
      description: '**This endpoint allows you to update an existing certificate by
        ID.**


        You can retrieve a certificate''s ID from the response provided by the "Get
        All SSO Integrations" endpoint.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                public_certificate:
                  type: string
                  description: This public certificate allows SendGrid to verify that
                    SAML requests it receives are signed by an IdP that it recognizes.
                enabled:
                  type: boolean
                  description: Indicates whether or not the certificate is enabled.
                integration_id:
                  type: string
                  description: An ID that matches a certificate to a specific IdP
                    integration.
              example:
                public_certificate: <your x509 certificate>
                enabled: false
                intergration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoCertificateBody'
              examples:
                response:
                  value:
                    public_certificate: <your x509 certificate>
                    id: 66138975
                    not_before: 1621289880
                    not_after: 1621289880
                    intergration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
    delete:
      operationId: DeleteSsoCertificate
      summary: Delete an SSO Certificate
      tags:
      - SSO Certificates
      description: '**This endpoint allows you to delete an SSO certificate.**


        You can retrieve a certificate''s ID from the response provided by the "Get
        All SSO Integrations" endpoint.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoCertificateBody'
              examples:
                response:
                  value:
                    public_certificate: <your x509 certificate>
                    id: 66138975
                    not_before: 1621289880
                    not_after: 1621289880
                    intergration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
  /v3/sso/integrations:
    post:
      operationId: CreateSsoIntegration
      summary: Create an SSO Integration
      tags:
      - SSO Settings
      description: '**This endpoint allows you to create an SSO integration.**'
      requestBody:
        $ref: '#/components/requestBodies/PostPatchIntegration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoIntegration'
              examples:
                response:
                  value:
                    name: Twilio SendGrid
                    enabled: true
                    signin_url: https://example.okta.com/home/examplecompany/yokpGWsmpRUcuvXFb4x6/nfaVADNhuHvvReAEV4x6
                    signout_url: https://example.okta.com/login/signout?fromURI=exampleappurl
                    entity_id: http://www.okta.com/${org.externalKey}
                    last_updated: 1621288964
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
    get:
      operationId: ListSsoIntegration
      summary: Get All SSO Integrations
      tags:
      - SSO Settings
      description: '**This endpoint allows you to retrieve all SSO integrations tied
        to your Twilio SendGrid account.**


        The IDs returned by this endpoint can be used by the APIs additional endpoints
        to modify your SSO integrations.'
      parameters:
      - name: si
        in: query
        description: If this parameter is set to `true`, the response will include
          the `completed_integration` field.
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SsoIntegration'
              examples:
                response:
                  value:
                  - name: Twilio SendGrid
                    enabled: true
                    signin_url: https://example.okta.com/home/examplecompany/yokpGWsmpRUcuvXFb4x6/nfaVADNhuHvvReAEV4x6
                    signout_url: https://example.okta.com/login/signout?fromURI=exampleappurl
                    entity_id: http://www.okta.com/${org.externalKey}
                    last_updated: 1621288520
                    completed_integration: true
                    id: b0b98502-9408-4b24-9e3d-31ed7cb15312
                    single_signon_url: https://api.sendgrid.com/v3/public/sso/saml/response/id/b0b98502-9408-4b24-9e3d-31ed7cb15312
                    audience_url: https://api.sendgrid.com/v3/public/sso/saml/response/id/b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
  /v3/sso/integrations/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: GetSsoIntegration
      summary: Get an SSO Integration
      tags:
      - SSO Settings
      description: '**This endpoint allows you to retrieve an SSO integration by ID.**


        You can retrieve the IDs for your configurations from the response provided
        by the "Get All SSO Integrations" endpoint.'
      parameters:
      - name: si
        in: query
        description: If this parameter is set to `true`, the response will include
          the `completed_integration` field.
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoIntegration'
              examples:
                response:
                  value:
                    name: Twilio SendGrid
                    enabled: true
                    signin_url: https://example.okta.com/home/examplecompany/yokpGWsmpRUcuvXFb4x6/nfaVADNhuHvvReAEV4x6
                    signout_url: https://example.okta.com/login/signout?fromURI=exampleappurl
                    entity_id: http://www.okta.com/${org.externalKey}
                    last_updated: 1621288964
                    completed_integration: true
                    id: b0b98502-9408-4b24-9e3d-31ed7cb15312
                    audience_url: https://api.sendgrid.com/v3/public/sso/saml/response/id/b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
    patch:
      operationId: UpdateSsoIntegration
      summary: Update an SSO Integration
      tags:
      - SSO Settings
      description: '**This endpoint allows you to modify an exisiting SSO integration.**


        You can retrieve the IDs for your configurations from the response provided
        by the "Get All SSO Integrations" endpoint.'
      parameters:
      - name: si
        in: query
        description: If this parameter is set to `true`, the response will include
          the `completed_integration` field.
        schema:
          type: boolean
      requestBody:
        $ref: '#/components/requestBodies/PostPatchIntegration'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoIntegration'
              examples:
                response:
                  value:
                    name: Twilio SendGrid
                    enabled: true
                    signin_url: https://example.okta.com/home/examplecompany/yokpGWsmpRUcuvXFb4x6/nfaVADNhuHvvReAEV4x6
                    signout_url: https://example.okta.com/login/signout?fromURI=exampleappurl
                    entity_id: http://www.okta.com/${org.externalKey}
                    last_updated: 1621288964
                    id: b0b98502-9408-4b24-9e3d-31ed7cb15312
                    single_signon_url: https://api.sendgrid.com/v3/public/sso/saml/response/id/b0b98502-9408-4b24-9e3d-31ed7cb15312
                    audience_url: https://api.sendgrid.com/v3/public/sso/saml/response/id/b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
    delete:
      operationId: DeleteSsoIntegration
      summary: Delete an SSO Integration
      tags:
      - SSO Settings
      description: '**This endpoint allows you to delete an IdP configuration by ID.**


        You can retrieve the IDs for your configurations from the response provided
        by the "Get All SSO Integrations" endpoint.'
      responses:
        '204':
          description: ''
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
  /v3/sso/integrations/{integration_id}/certificates:
    parameters:
    - name: integration_id
      in: path
      description: An ID that matches a certificate to a specific IdP integration.
      required: true
      schema:
        type: string
    get:
      operationId: ListSsoIntegrationCertificate
      summary: Get All SSO Certificates by Integration
      tags:
      - SSO Certificates
      description: '**This endpoint allows you to retrieve all your IdP configurations
        by configuration ID.**


        The `integration_id` expected by this endpoint is the `id` returned in the
        response by the "Get All SSO Integrations" endpoint.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SsoCertificateBody'
              examples:
                response:
                  value:
                  - public_certificate: <your x509 certificate>
                    id: 66138975
                    not_before: 1621289880
                    not_after: 1621289880
                    intergration_id: b0b98502-9408-4b24-9e3d-31ed7cb15312
        '400':
          $ref: '#/components/responses/Sso400'
        '401':
          $ref: '#/components/responses/Sso401'
        '403':
          $ref: '#/components/responses/Sso403'
        '429':
          $ref: '#/components/responses/Sso429'
        '500':
          $ref: '#/components/responses/Sso500'
  /v3/sso/teammates:
    post:
      operationId: CreateSsoTeammate
      summary: Create an SSO Teammate.
      tags:
      - SSO Teammates
      description: '**This endpoint allows you to create an SSO Teammate.**


        The email address provided for the Teammate will also function as the Teammate''s
        username. Once created, the Teammate''s email address cannot be changed.


        ### Scopes


        When creating a Teammate, you will assign it permissions or scopes. These
        scopes determine which actions the Teammate can perform and which features
        they can access. Scopes are provided with one of three properties passed to
        this endpoint: `is_admin`, `scopes`, and `persona`.


        You can make a Teammate an administrator by setting `is_admin` to `true`.
        Administrators will have all scopes assigned to them. Alternatively, you can
        assign a `persona` to the teammate, which will assign them a block of permissions
        commonly required for that type of user. See the "Persona scopes" section
        of [**Teammate Permissions**](https://docs.sendgrid.com/ui/account-and-settings/teammate-permissions#persona-scopes)
        for a list of permsissions granted by persona. Lastly, you can assign individual
        permissions with the `scopes` property. See [**Teammate Permissions**](https://docs.sendgrid.com/ui/account-and-settings/teammate-permissions)
        for a full list of scopes that can be assigned to a Teammate.


        ### Subuser access


        SendGrid Teammates may be assigned access to one or more Subusers. Subusers
        function like SendGrid sub-accounts with their own resources. See [**Subusers**](https://docs.sendgrid.com/ui/account-and-settings/subusers)
        for more information.


        When assigning Subuser access to a Teammate, you may set the `has_restricted_subuser_access`
        property to `true` to constrain the Teammate so that they can operate only
        on behalf of the Subusers to which they are assigned. You may further set
        the level of access the Teammate has to each Subuser with the `subuser_access`
        property.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostSsoTeammatesRequest'
            examples:
              Create Teammate with Subuser Access:
                value:
                  first_name: Jane
                  last_name: Doe
                  email: [email protected]
                  has_restricted_subuser_access: true
                  subuser_access:
                  - id: 12345
                    permission_type: admin
              Create Admin Teammate:
                value:
                  first_name: Jane
                  last_name: Doe
                  email: [email protected]
                  is_admin: true
                  has_restricted_subuser_access: false
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostSsoTeammates201'
              examples:
                response:
                  value:
                    first_name: Jane
                    last_name: Doe
                    email: [email protected]
                    is_admin: true
                    is_sso: true
                    scopes:
                    - alerts.create
                    - alerts.read
                    - alerts.update
                    - alerts.delete
                    - asm.groups.create
                    - asm.groups.read
                    - asm.groups.update
                    - asm.groups.delete
                    - asm.groups.suppressions.create
                    - asm.groups.suppressions.read
                    - asm.groups.suppressions.update
                    - asm.groups.suppressions.delete
                    - asm.suppressions.global.create
                    - asm.suppressions.global.read
                    - asm.suppressions.global.update
                    - asm.suppressions.global.delete
                    - billing.create
                    - billing.read
                    - billing.update
                    - billing.delete
                    - ui.confirm_email
                    - signup.trigger_confirmation
                    - ui.provision
                    - ips.warmup.create
                    - ips.warmup.read
                    - ips.warmup.update
                    - ips.warmup.delete
                    - ips.pools.create
                    - ips.pools.read
                    - ips.pools.update
                    - ips.pools.delete
                    - ips.pools.ips.create
                    - ips.pools.ips.read
                    - ips.pools.ips.update
                    - ips.pools.ips.delete
                    - ips.assigned.read
                    - ips.create
                    - ips.read
                    - ips.update
                    - ips.delete
                    - mail.send
                    - mail_settings.read
                    - mail_settings.bcc.create
                    - mail_settings.bcc.read
                    - mail_settings.bcc.update
                    - mail_settings.bcc.delete
                    - mail_settings.address_whitelist.create
                    - mail_settings.address_whitelist.read
                    - mail_settings.address_whitelist.update
                    - mail_settings.address_whitelist.delete
                    - mail_settings.footer.create
                    - mail_settings.footer.read
                    - mail_settings.footer.update
                    - mail_settings.footer.delete
                    - mail_settings.forward_spam.create
                    - mail_settings.forward_spam.read
                    - mail_settings.forward_spam.update
                    - mail_settings.forward_spam.delete
                    - mail_settings.plain_content.create
                    - mail_settings.plain_content.read
                    - mail_settings.plain_content.update
                    - mail_settings.plain_content.delete
                    - mail_settings.spam_check.create
                    - mail_settings.spam_check.read
                    - mail_settings.spam_check.update
                    - mail_settings.spam_check.delete
                    - mail_settings.bounce_purge.create
                    - mail_settings.bounce_purge.read
                    - mail_settings.bounce_purge.update
                    - mail_settings.bounce_purge.delete
                    - mail_settings.forward_bounce.create
                    - mail_settings.forward_bounce.read
                    - mail_settings.forward_bounce.update
                    - mail_settings.forward_bounce.delete
                    - partner_settings.read
                    - partner_settings.new_relic.create
                    - partner_settings.new_relic.read
                    - partner_settings.new_relic.update
                    - partner_settings.new_relic.delete
                    - partner_settings.sendwithus.create
                    - partner_settings.sendwithus.read
                    - partner_settings.sendwithus.update
                    - partner_settings.sendwithus.delete
                    - tracking_settings.read
                    - tracking_settings.click.create
                    - tracking_settings.click.read
                    - tracking_settings.click.update
                    - tracking_settings.click.delete
                    - tracking_settings.subscription.create
                    - tracking_settings.subscription.read
                    - tracking_settings.subscription.update
                    - tracking_settings.subscription.delete
                    - tracking_settings.open.create
                    - tracking_settings.open.read
                    - tracking_settings.open.update
                    - tracking_settings.open.delete
                    - tracking_settings.google_analytics.create
                    - tracking_settings.google_analytics.read
                    - tracking_settings.google_analytics.update
                    - tracking_settings.google_analytics.delete
                    - user.webhooks.event.settings.create
                    - user.webhooks.event.settings.read
                    - user.webhooks.event.settings.update
                    - user.webhooks.event.settings.delete
                    - user.webhooks.event.test.create
                    - user.webhooks.event.test.read
                    - user.webhooks.event.test.update
                    - user.webhooks.event.test.delete
                    - user.webhooks.parse.settings.create
                    - user.webhooks.parse.settings.read
                    - user.webhooks.parse.settings.update
                    - user.webhooks.parse.settings.delete
                    - stats.read
                    - stats.global.read
                    - categories.stats.read
                    - categories.stats.sums.read
                    - devices.stats.read
                    - clients.stats.read
                    - clients.phone.stats.read
                    - clients.tablet.stats.read
                    - clients.webmail.stats.read
                    - clients.desktop.stats.read
                    - geo.stats.read
                    - mailbox_providers.stats.read
                    - browsers.stats.read
                    - subusers.stats.read
                    - subusers.stats.sums.read
                    - subusers.stats.monthly.read
                    - user.webhooks.parse.stats.read
                    - subusers.create
                    - subusers.read
                    - subusers.update
                    - subusers.delete
                    - subusers.monitor.create
                    - subusers.monitor.read
                    - subusers.monitor.update
                    - subusers.monitor.delete
                    - subusers.credits.create
                    - subusers.credits.read
                    - subusers.credits.update
                    - subusers.credits.delete
                    - subusers.credits.remaining.create
                    - subusers.credits.remaining.read
                    - subusers.credits.remaining.update
                    - subusers.credits.remaining.delete
                    - subusers.reputations.read
                    - subusers.summary.read
                    - suppression.bounces.create
                    - suppression.bounces.read
                    - suppression.bounces.update
                    - suppression.bounces.delete
                    - suppression.blocks.create
                    - suppression.blocks.read
                    - suppression.blocks.update
                    - suppression.blocks.delete
                    - suppression.invalid_emails.create
                    - suppression.invalid_emails.read
                    - suppression.invalid_emails.update
                    - suppression.invalid_emails.delete
                    - suppression.spam_reports.create
                    - suppression.spam_reports.read
                    - suppression.spam_reports.update
                    - suppression.spam_reports.delete
                    - suppression.unsubscribes.create
                    - suppression.unsubscribes.read
                    - suppression.unsubscribes.update
                    - suppression.unsubscribes.delete
                    - templates.create
                    - templates.read
                    - templates.update
                    - templates.delete
                    - templates.versions.create
                    - templates.versions.read
                    - templates.versions.update
                    - templates.versions.delete
                    - templates.versions.activate.create
                    - templates.versions.activate.read
                    - templates.versions.activate.update
                    - templates.versions.activate.delete
                    - user.account.read
                    - user.credits.read
                    - user.email.create
                    - user.email.read
                    - user.email.update
                    - user.email.delete
                    - user.profile.create
                    - user.profile.read
                    - user.profile.update
                    - user.profile.delete
                    - user.password.create
                    - user.password.read
                    - user.password.update
                    - user.password.delete
                    - user.timezone.create
                    - user.timezone.read
                    - user.timezone.update
                    - user.timezone.delete
                    - user.username.create
                    - user.username.read
                    - user.username.update
                    - user.username.delete
                    - user.settings.enforced_tls.read
                    - user.settings.enforced_tls.update
                    - api_keys.create
                    - api_keys.read
                    - api_keys.update
                    - api_keys.delete
                    - credentials.create
                    - credentials.read
                    - credentials.update
                    - credentials.delete
                    - categories.create
                    - categories.read
                    - categories.update
                    - categories.delete
                    - mail_settings.template.create
                    - mail_settings.template.read
                    - mail_settings.template.update
                    - mail_settings.template.delete
                    - user.multifactor_authentication.create
                    - user.multifactor_authentication.read
                    - user.multifactor_authentication.update
                    - user.multifactor_authentication.delete
                    - newsletter.create
                    - newsletter.read
                    - newsletter.update
                    - newsletter.delete
                    - marketing_campaigns.create
                    - marketing_campaigns.read
                    - marketing_campaigns.update
                    - marketing_campaigns.delete
                    - ui.signup_complete
                    - mail.batch.create
                    - mail.batch.read
                    - mail.batch.update
                    - mail.batch.delete
                    - user.scheduled_sends.create
                    - user.scheduled_sends.read
                    - user.scheduled_sends.update
                    - user.scheduled_sends.delete
                    - ac

# --- truncated at 32 KB (83 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sendgrid/refs/heads/main/openapi/tsg_sso_v3.yaml