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

# Update a user

> Update a user's attributes



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/platform_swagger.json patch /platform/api/v1/users/{id}
openapi: 3.1.0
info:
  title: Chatwoot
  description: This is the API documentation for Chatwoot server.
  version: 1.1.0
  termsOfService: https://www.chatwoot.com/terms-of-service/
  contact:
    email: hello@chatwoot.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.chatwoot.com/
security: []
tags:
  - name: Accounts
    description: Account management APIs
  - name: Account Users
    description: Account user management APIs
  - name: AgentBots
    description: Bot integrations
  - name: Users
    description: User management APIs
paths:
  /platform/api/v1/users/{id}:
    parameters:
      - $ref: '#/components/parameters/platform_user_id'
    patch:
      tags:
        - Users
      summary: Update a user
      description: Update a user's attributes
      operationId: update-a-user
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/user_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/user'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
      security:
        - platformAppApiKey: []
components:
  parameters:
    platform_user_id:
      in: path
      name: id
      schema:
        type: integer
      required: true
      description: The numeric ID of the user on the platform
  schemas:
    user_create_update_payload:
      type: object
      properties:
        name:
          type: string
          description: Name of the user
          example: Daniel
        display_name:
          type: string
          description: Display name of the user
          example: Dan
        email:
          type: string
          description: Email of the user
          example: daniel@acme.inc
        password:
          type: string
          description: >-
            Password must contain uppercase, lowercase letters, number and a
            special character
          example: Password2!
        custom_attributes:
          type: object
          description: Custom attributes you want to associate with the user
          example: {}
    user:
      type: object
      properties:
        id:
          type: number
        access_token:
          type: string
        account_id:
          type: number
        available_name:
          type: string
        avatar_url:
          type: string
        confirmed:
          type: boolean
        display_name:
          type:
            - string
            - 'null'
        message_signature:
          type:
            - string
            - 'null'
        email:
          type: string
        hmac_identifier:
          type: string
        inviter_id:
          type:
            - number
            - 'null'
        name:
          type: string
        provider:
          type: string
        pubsub_token:
          type: string
        role:
          type: string
          enum:
            - agent
            - administrator
        ui_settings:
          type: object
        uid:
          type: string
        type:
          type:
            - string
            - 'null'
        custom_attributes:
          type: object
          description: >-
            Available for users who are created through platform APIs and has
            custom attributes associated.
        accounts:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
              name:
                type: string
              status:
                type: string
              active_at:
                type:
                  - string
                  - 'null'
                format: date-time
              role:
                type: string
                enum:
                  - administrator
                  - agent
              permissions:
                type: array
                items:
                  type: string
              availability:
                type: string
              availability_status:
                type: string
              auto_offline:
                type: boolean
              custom_role_id:
                type:
                  - number
                  - 'null'
              custom_role:
                type:
                  - object
                  - 'null'
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
  securitySchemes:
    platformAppApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by the system admin after creating a
        platformApp. This token should be used to provision agent bots,
        accounts, users and their roles.

````