> ## Documentation Index
> Fetch the complete documentation index at: https://www.text.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update an account

> Update an account for a given `account_id`. The ID can be replaced with `me` to update the account that performs the request. To set a role for an account, you need the `accounts.roles--all:rw` scope.

**Required scopes:** `accounts--all:rw`, `accounts.roles--all:rw`


## OpenAPI

````yaml /api/global-accounts/openapi.json patch /accounts/{account_id}
openapi: 3.0.0
info:
  title: Global Accounts API
  description: >-
    API used to manage Organizations and Accounts for multiple products. Also
    responsible for authorization and authentication processes.
  version: 2.0.0
servers:
  - url: https://accounts.livechat.com/v2
    description: Main production server URL
security: []
paths:
  /accounts/{account_id}:
    patch:
      tags:
        - Accounts
      summary: Update an account
      description: >-
        Update an account for a given `account_id`. The ID can be replaced with
        `me` to update the account that performs the request. To set a role for
        an account, you need the `accounts.roles--all:rw` scope.
      parameters:
        - in: path
          name: account_id
          schema:
            type: string
            format: uuid
          required: true
          description: >-
            The unique account ID, or `me` to refer to the account making the
            request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - description: An entity of the account, used across all Text products.
                  type: object
                  required:
                    - email
                  properties:
                    account_id:
                      type: string
                      format: uuid
                      readOnly: true
                      description: Unique account identifier.
                    name:
                      type: string
                      description: >-
                        The account name (nick; first name, second name, or
                        both).
                      exclusiveMaximum: false
                      maxLength: 191
                    email:
                      type: string
                      format: email
                      description: The account's email address.
                      exclusiveMaximum: false
                      maxLength: 128
                    email_verified:
                      type: boolean
                      readOnly: true
                      description: >-
                        If `true`: the account's email was verified via an email
                        action or by a third-party identity provider.
                    default_product:
                      type: string
                      description: The default product for the account.
                      enum:
                        - LiveChat
                        - Accounts
                        - ChatBot
                        - HelpDesk
                        - OpenWidget
                    default_organization_id:
                      type: string
                      format: uuid
                      description: >-
                        The ID of the default organization the account belongs
                        to.
                      default: null
                      nullable: true
                    avatar_url:
                      type: string
                      description: >-
                        The "Account's avatar" field has been deprecated and is
                        no longer recommended for use; instead, the avatar
                        functionality has been relocated to the account
                        organization settings.
                      default: null
                      nullable: true
                      exclusiveMaximum: false
                      maxLength: 255
                      deprecated: true
                    roles:
                      type: array
                      items:
                        description: Role groups account scopes into one permission entity.
                        type: object
                        properties:
                          role_id:
                            type: string
                            description: Unique role definition ID.
                          product:
                            type: string
                            description: The product the role belongs to.
                            enum:
                              - LiveChat
                              - Accounts
                              - ChatBot
                              - HelpDesk
                              - OpenWidget
                          role:
                            type: string
                            description: >-
                              The role name; can be one of the predefined roles
                              or a custom role name.
                            enum:
                              - owner
                              - viceowner
                              - administrator
                              - normal
                              - member
                          type:
                            type: string
                            readOnly: true
                            description: >-
                              The role type: `primary` is an obligatory accounts
                              role, `secondary` is a basic product role,
                              `custom` is a custom-defined role.
                          predefined:
                            readOnly: true
                            type: boolean
                            description: >-
                              If `true`: the role is common across all
                              organizations. If `false`: the role is specific to
                              an organization.
                      description: >-
                        Roles associated with the account; returned only when
                        the access token contains the `accounts.roles--all:ro`
                        scope.
                    updated_at:
                      readOnly: true
                      type: string
                      format: date-time
                      description: The date of the account's last update.
                    created_at:
                      readOnly: true
                      type: string
                      format: date-time
                      description: The date the account was created.
                - type: object
                  properties:
                    email:
                      readOnly: true
                    roles:
                      readOnly: true
            example:
              name: John
      responses:
        '200':
          description: 'OK: Returns the updated account.'
          content:
            application/json:
              schema:
                description: An entity of the account, used across all Text products.
                type: object
                required:
                  - email
                properties:
                  account_id:
                    type: string
                    format: uuid
                    readOnly: true
                    description: Unique account identifier.
                  name:
                    type: string
                    description: The account name (nick; first name, second name, or both).
                    exclusiveMaximum: false
                    maxLength: 191
                  email:
                    type: string
                    format: email
                    description: The account's email address.
                    exclusiveMaximum: false
                    maxLength: 128
                  email_verified:
                    type: boolean
                    readOnly: true
                    description: >-
                      If `true`: the account's email was verified via an email
                      action or by a third-party identity provider.
                  default_product:
                    type: string
                    description: The default product for the account.
                    enum:
                      - LiveChat
                      - Accounts
                      - ChatBot
                      - HelpDesk
                      - OpenWidget
                  default_organization_id:
                    type: string
                    format: uuid
                    description: The ID of the default organization the account belongs to.
                    default: null
                    nullable: true
                  avatar_url:
                    type: string
                    description: >-
                      The "Account's avatar" field has been deprecated and is no
                      longer recommended for use; instead, the avatar
                      functionality has been relocated to the account
                      organization settings.
                    default: null
                    nullable: true
                    exclusiveMaximum: false
                    maxLength: 255
                    deprecated: true
                  roles:
                    type: array
                    items:
                      description: Role groups account scopes into one permission entity.
                      type: object
                      properties:
                        role_id:
                          type: string
                          description: Unique role definition ID.
                        product:
                          type: string
                          description: The product the role belongs to.
                          enum:
                            - LiveChat
                            - Accounts
                            - ChatBot
                            - HelpDesk
                            - OpenWidget
                        role:
                          type: string
                          description: >-
                            The role name; can be one of the predefined roles or
                            a custom role name.
                          enum:
                            - owner
                            - viceowner
                            - administrator
                            - normal
                            - member
                        type:
                          type: string
                          readOnly: true
                          description: >-
                            The role type: `primary` is an obligatory accounts
                            role, `secondary` is a basic product role, `custom`
                            is a custom-defined role.
                        predefined:
                          readOnly: true
                          type: boolean
                          description: >-
                            If `true`: the role is common across all
                            organizations. If `false`: the role is specific to
                            an organization.
                    description: >-
                      Roles associated with the account; returned only when the
                      access token contains the `accounts.roles--all:ro` scope.
                  updated_at:
                    readOnly: true
                    type: string
                    format: date-time
                    description: The date of the account's last update.
                  created_at:
                    readOnly: true
                    type: string
                    format: date-time
                    description: The date the account was created.
              example:
                account_id: 496a94f2-cbbf-444e-a3cb-305b9f5f8cbb
                name: John
                email: john@example.com
                email_verified: false
                default_product: LiveChat
                default_organization_id: b2185556-634c-4ecf-b4c9-bcf8b65bc853
                avatar_url: null
                roles:
                  - role_id: 728b99be-848c-11ea-9b91-005056a007e9
                    product: LiveChat
                    role: administrator
                    type: primary
                    predefined: true
                properties:
                  active: true
                  mfa: true
                  avatar_url: >-
                    https://api.text.com/file/accounts/avatars/b2185556-634c-4ecf-b4c9-bcf8b65bc853/ae5bd37f-64b2-416b-bbb3-4623f53e6fb8/37a190dd-77a5-4fba-a7d3-2e89eab0e8fd.jpg
                updated_at: '2026-06-03T10:53:04.000Z'
                created_at: '2026-06-03T10:53:04.000Z'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      error_description:
                        type: string
              example:
                error: bad_request
                error_description: >-
                  The server cannot or will not process the request due to an
                  apparent client error (for example, malformed request syntax,
                  size too large).
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '401':
          description: Unauthorized, missing, or invalid authorization.
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      error_description:
                        type: string
              example:
                error: unauthorized
                error_description: The account is not authorized.
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '403':
          description: 'Forbidden: Insufficient scope.'
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      sub_error:
                        type: string
                      error_description:
                        type: string
              example:
                error: access_denied
                sub_error: insufficient_scope
                error_description: The resource owner or authorization server denied the request.
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '404':
          description: 'Not found: The account doesn''t exist.'
          content:
            application/json:
              schema:
                allOf:
                  - allOf:
                      - description: Returned on validation errors.
                        allOf:
                          - description: The default error object.
                            type: object
                            properties:
                              error:
                                description: The error code.
                                type: string
                                enum:
                                  - bad_request
                                  - invalid_request
                                  - unauthorized_client
                                  - unauthorized
                                  - access_denied
                                  - unsupported_response_type
                                  - invalid_scope
                                  - server_error
                                  - temporarily_unavailable
                                  - unsupported_grant_type
                                  - invalid_grant
                                  - invalid_client
                                  - conflict
                                  - resource_not_found
                                  - join_link_expired
                                  - traffic_blocked
                                  - not_implemented
                              error_description:
                                type: string
                              sub_error:
                                description: The error subcode.
                                type: string
                                nullable: true
                              request_id:
                                description: Unique request identifier.
                                type: string
                                format: uuid
                          - type: object
                            properties:
                              resource_name:
                                description: The name of the resource related to the error.
                                type: string
                              resource_id:
                                description: >-
                                  The identifier of the resource related to the
                                  error.
                                type: string
                      - type: object
                        properties:
                          error:
                            type: string
                          error_description:
                            type: string
                  - type: object
                    properties:
                      resource_name:
                        type: string
                      resource_id:
                        type: string
                        format: uuid
              example:
                error: resource_not_found
                error_description: The requested resource couldn't be found.
                resource_name: account
                resource_id: def31e95-5ca4-4817-b176-732e4544daca
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '422':
          description: 'Validation error: Invalid email address, name too long, etc.'
          content:
            application/json:
              schema:
                allOf:
                  - allOf:
                      - description: The default error object.
                        type: object
                        properties:
                          error:
                            description: The error code.
                            type: string
                            enum:
                              - bad_request
                              - invalid_request
                              - unauthorized_client
                              - unauthorized
                              - access_denied
                              - unsupported_response_type
                              - invalid_scope
                              - server_error
                              - temporarily_unavailable
                              - unsupported_grant_type
                              - invalid_grant
                              - invalid_client
                              - conflict
                              - resource_not_found
                              - join_link_expired
                              - traffic_blocked
                              - not_implemented
                          error_description:
                            type: string
                          sub_error:
                            description: The error subcode.
                            type: string
                            nullable: true
                          request_id:
                            description: Unique request identifier.
                            type: string
                            format: uuid
                      - type: object
                        properties:
                          error:
                            type: string
                          error_description:
                            type: string
                          invalid_fields:
                            type: object
                            additionalProperties:
                              type: string
                  - type: object
                    properties:
                      invalid_fields:
                        type: object
                        properties:
                          account_id:
                            type: string
              example:
                error: invalid_request
                error_description: >-
                  The request is missing a required parameter, includes an
                  invalid parameter value, includes a parameter more than once,
                  or is otherwise malformed.
                invalid_fields:
                  email: invalid email address
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
        '500':
          description: Server Error.
          content:
            application/json:
              schema:
                allOf:
                  - description: The default error object.
                    type: object
                    properties:
                      error:
                        description: The error code.
                        type: string
                        enum:
                          - bad_request
                          - invalid_request
                          - unauthorized_client
                          - unauthorized
                          - access_denied
                          - unsupported_response_type
                          - invalid_scope
                          - server_error
                          - temporarily_unavailable
                          - unsupported_grant_type
                          - invalid_grant
                          - invalid_client
                          - conflict
                          - resource_not_found
                          - join_link_expired
                          - traffic_blocked
                          - not_implemented
                      error_description:
                        type: string
                      sub_error:
                        description: The error subcode.
                        type: string
                        nullable: true
                      request_id:
                        description: Unique request identifier.
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      error:
                        type: string
                      error_description:
                        type: string
              example:
                error: server_error
                error_description: >-
                  The server encountered an unexpected condition that prevented
                  it from fulfilling the request.
                request_id: 5903c51b-89f0-41a9-a25d-4f39af100353
      security:
        - PersonalAccessToken: []
        - OAuth2BearerToken:
            - accounts--all:rw
            - accounts.roles--all:rw
components:
  securitySchemes:
    PersonalAccessToken:
      description: >-
        Use your `account ID` as the username and your personal access token
        (PAT) as the password, or pass a Base64-encoded value directly in the
        Authorization header. For more information, see the <a
        href="/authentication/personal-access-tokens">personal access tokens
        guide</a>.
      type: http
      scheme: basic
    OAuth2BearerToken:
      description: >-
        This API uses OAuth2 with the implicit grant flow. <a
        href="/authentication/oauth-authorization#implicit-grant">Learn about
        the implicit grant flow.</a>
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://accounts.livechat.com
          scopes: {}
        authorizationCode:
          authorizationUrl: https://accounts.livechat.com
          tokenUrl: https://accounts.livechat.com/token
          scopes: {}

````