Twilio SendGrid User API

The Twilio SendGrid User API allows you to modify the settings of a SendGrid user account such as the user's email address or username. Keeping your user profile up to date helps SendGrid verify who you are and share important communications with you. See [**Account Details**](https://docs.sendgrid.com/ui/account-and-settings/account) for more information. You can also manage your user settings in the [SendGrid application user interface](https://app.sendgrid.com/account/details).

OpenAPI Specification

tsg_user_v3.yaml Raw ↑
openapi: 3.1.0
security:
- BearerAuth: []
info:
  title: Twilio SendGrid User API
  summary: The Twilio SendGrid User API allows you to modify the settings of a SendGrid
    user account such as the user's email address or username.
  description: 'The Twilio SendGrid User API allows you to modify the settings of
    a SendGrid user account such as the user''s email address or username. Keeping
    your user profile up to date helps SendGrid verify who you are and share important
    communications with you.


    See [**Account Details**](https://docs.sendgrid.com/ui/account-and-settings/account)
    for more information. You can also manage your user settings in the [SendGrid
    application user interface](https://app.sendgrid.com/account/details).'
  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: user
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/user/account:
    get:
      operationId: ListAccount
      summary: Get a user's account information.
      tags:
      - Users API
      description: '**This endpoint allows you to retrieve your user account details.**


        Your user''s account information includes the user''s account type and reputation.'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                title: GET User Account response
                type: object
                properties:
                  type:
                    type: string
                    description: The type of account for this user.
                    $ref: '#/components/schemas/Type'
                  reputation:
                    type: number
                    description: The sender reputation for this user.
                required:
                - type
                - reputation
              examples:
                response:
                  value:
                    reputation: 100
                    type: paid
  /v3/user/credits:
    get:
      operationId: ListCredit
      summary: Retrieve your credit balance
      tags:
      - Users API
      description: '**This endpoint allows you to retrieve the current credit balance
        for your account.**


        Each account has a credit balance, which is a base number of emails it can
        send before receiving per-email charges. For more information about credits
        and billing, see [Billing and Plan details information](https://sendgrid.com/docs/ui/account-and-settings/billing/).'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  remain:
                    type: integer
                    description: The remaining number of credits available on your
                      account.
                  total:
                    type: integer
                    description: The total number of credits assigned to your account.
                  overage:
                    type: integer
                    description: The number of overdrawn credits for your account.
                  used:
                    type: integer
                    description: The number of credits that you have used.
                  last_reset:
                    type: string
                    description: The date that your credit balance was last reset.
                  next_reset:
                    type: string
                    description: The next date that your credit balance will be reset.
                  reset_frequency:
                    type: string
                    description: The frequency at which your credit balance will be
                      reset.
                required:
                - remain
                - total
                - overage
                - used
                - last_reset
                - next_reset
                - reset_frequency
              examples:
                response:
                  value:
                    remain: 200
                    total: 200
                    overage: 0
                    used: 0
                    last_reset: '2013-01-01'
                    next_reset: '2013-02-01'
                    reset_frequency: monthly
  /v3/user/email:
    get:
      operationId: ListEmail
      summary: Retrieve your account email address
      tags:
      - Users API
      description: '**This endpoint allows you to retrieve the email address currently
        on file for your account.**'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                    description: The email address currently on file for your account.
                    format: email
                required:
                - email
              examples:
                response:
                  value:
                    email: [email protected]
    put:
      operationId: UpdateEmail
      summary: Update your account email address
      tags:
      - Users API
      description: '**This endpoint allows you to update the email address currently
        on file for your account.**'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: The new email address that you would like to use for
                    your account.
              example:
                email: [email protected]
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                    description: The current email address on file for your account.
                    format: email
                required:
                - email
              examples:
                response:
                  value:
                    email: [email protected]
  /v3/user/password:
    put:
      operationId: UpdatePassword
      summary: Update your password
      tags:
      - Users API
      description: '**This endpoint allows you to update your password.**'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                new_password:
                  type: string
                  description: The new password you would like to use for your account.
                old_password:
                  type: string
                  description: The old password for your account.
              required:
              - new_password
              - old_password
              example:
                new_password: new_password
                old_password: old_password
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /v3/user/profile:
    get:
      operationId: ListProfile
      summary: Get a user's profile
      description: '**This endpoint allows you to retrieve your current profile details.**'
      tags:
      - Users API
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                title: GET User Profile response
                type: object
                properties:
                  address:
                    type: string
                    description: The user's address.
                  address2:
                    type: string
                    description: The second line of the user's address.
                  city:
                    type: string
                    description: The user's city.
                  company:
                    type: string
                    description: The name of the user's company.
                  country:
                    type: string
                    description: The user's country.
                  first_name:
                    type: string
                    description: The user's first name.
                  last_name:
                    type: string
                    description: The user's last name.
                  phone:
                    type: string
                    description: The user's phone number.
                  state:
                    type: string
                    description: The user's state.
                  website:
                    type: string
                    description: The user's website URL.
                  zip:
                    type: string
                    description: The user's zip code.
                required:
                - address
                - city
                - company
                - country
                - first_name
                - last_name
                - phone
                - state
                - website
                - zip
              examples:
                response:
                  value:
                    address: 814 West Chapman Avenue
                    address2: ''
                    city: Orange
                    company: SendGrid
                    country: US
                    first_name: Test
                    last_name: User
                    phone: 555-555-5555
                    state: CA
                    website: http://www.sendgrid.com
                    zip: '92868'
    patch:
      operationId: UpdateProfile
      summary: Update a user's profile
      tags:
      - Users API
      description: '**This endpoint allows you to update your current profile details.**


        Any one or more of the parameters can be updated via the PATCH `/user/profile`
        endpoint. You must include at least one when you PATCH.'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserProfile'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProfile'
              examples:
                response:
                  value:
                    address: 814 West Chapman Avenue
                    address2: ''
                    city: Orange
                    company: SendGrid
                    country: US
                    first_name: Example
                    last_name: User
                    phone: 555-555-5555
                    state: CA
                    website: http://www.sendgrid.com
                    zip: '92868'
        '401':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                response:
                  value:
                    errors:
                    - field: null
                      message: authorization required
  /v3/user/username:
    get:
      operationId: ListUsername
      summary: Retrieve your username
      tags:
      - Users API
      description: '**This endpoint allows you to retrieve your current account username.**'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  username:
                    type: string
                    description: Your account username.
                  user_id:
                    type: integer
                    description: The user ID for your account.
                required:
                - username
                - user_id
              examples:
                response:
                  value:
                    username: test_username
                    user_id: 1
    put:
      operationId: UpdateUsername
      summary: Update your username
      tags:
      - Users API
      description: '**This endpoint allows you to update the username for your account.**'
      parameters:
      - $ref: '#/components/parameters/OnBehalfOf'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                  description: The new username you would like to use for your account.
              example:
                username: test_username
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  username:
                    type: string
                    description: The current username on file for your account.
                required:
                - username
              examples:
                response:
                  value:
                    username: test_username
components:
  schemas:
    UserProfile:
      title: 'User: Profile'
      type: object
      properties:
        address:
          type: string
          description: The street address for this user profile.
        address2:
          type: string
          description: An optional second line for the street address of this user
            profile.
        city:
          type: string
          description: The city for the user profile.
        company:
          type: string
          description: That company that this user profile is associated with.
        country:
          type: string
          description: Th country of this user profile.
        first_name:
          type: string
          description: The first name of the user.
        last_name:
          type: string
          description: The last name of the user.
        phone:
          type: string
          description: The phone number for the user.
        state:
          type: string
          description: The state for this user.
        website:
          type: string
          description: The website associated with this user.
        zip:
          type: string
          description: The zip code for this user.
      example:
        address: 1451 Larimer Street, 3rd floor
        address2: ''
        city: Denver, CO
        company: SendGrid
        country: US
        first_name: Matthew
        last_name: Bernier
        phone: '7208788003'
        state: CO
        website: http://sendgrid.com
        zip: '80202'
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
                description: An error message.
              field:
                description: When applicable, this property value will be the field
                  that generated the error.
                nullable: true
                type: string
              help:
                type: object
                description: When applicable, this property value will be helper text
                  or a link to documentation to help you troubleshoot the error.
        id:
          type: string
          description: When applicable, this property value will be an error ID.
      example:
        errors:
        - field: field_name
          message: error message
    Type:
      type: string
      enum:
      - free
      - paid
  responses: {}
  parameters:
    OnBehalfOf:
      name: on-behalf-of
      in: header
      description: '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**](https://docs.sendgrid.com/api-reference/how-to-use-the-sendgrid-v3-api/on-behalf-of)
        for more information.'
      required: false
      schema:
        type: string
  examples: {}
  requestBodies: {}
  headers: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Twilio SendGrid requires you to authenticate with its APIs using
        an API key. The API key must be sent as a bearer token in the Authorization
        header.
tags:
- name: Users API
  description: Twilio SendGrid Users API.
externalDocs:
  description: Twilio SendGrid's official developer documentation.
  url: https://www.twilio.com/docs/sendgrid