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

# Update a user

> Updates a client user by ID.



## OpenAPI

````yaml https://api.steuerboard.com/v1/openapi patch /users/{id}
openapi: 3.1.1
info:
  version: 0.1.0
  title: Steuerboard API
servers:
  - url: https://api.steuerboard.com/v1
security:
  - bearerAuth: []
tags:
  - name: auth
    description: Authentication and identity endpoints
    x-displayName: Auth
  - name: collect
    description: Public collect session endpoints
    x-displayName: Collect
  - name: collect.sessions
    description: Collect Sessions endpoints
    x-displayName: Collect Sessions
  - name: health
    description: Service health endpoints
    x-displayName: Health
  - name: admin.clients
    description: Admin endpoints for managing clients
    x-displayName: Clients
  - name: admin.users
    description: Admin user management endpoints
    x-displayName: Admin Users
  - name: files
    description: File management endpoints
    x-displayName: Files
  - name: tasks
    description: Task management endpoints
    x-displayName: Tasks
  - name: workspaces
    description: Workspace management endpoints
    x-displayName: Workspaces
  - name: workspace.members
    description: Workspace member management endpoints
    x-displayName: Workspace Members
  - name: webhooks
    description: Webhook event payloads and contracts
    x-displayName: Webhooks
  - name: users
    description: User management endpoints
    x-displayName: Users
externalDocs:
  description: Find out more about Steuerboard API
  url: https://docs.steuerboard.com
paths:
  /users/{id}:
    patch:
      tags:
        - users
      summary: Update a user
      description: Updates a client user by ID.
      operationId: updateUser
      parameters:
        - schema:
            type: string
            format: cuid
            description: The ID of the item
            example: cmf41ajzv003706un4i99q19z
          required: true
          in: path
          name: id
        - schema:
            type: string
            format: cuid
            description: The ID of the client
            example: cmf41ajzv003706un4i99q19z
          required: true
          name: x-client-id
          in: header
      requestBody:
        description: User update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientUserUpdate'
      responses:
        '200':
          description: User updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientUser'
        '400':
          description: Missing client ID
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/bad_request'
                  - properties:
                      status_code:
                        type: integer
                        enum:
                          - 400
                      type:
                        type: string
                        enum:
                          - bad_request
                      code:
                        type: string
                        enum:
                          - missing_client_id
                      message:
                        type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth_error'
        '403':
          description: Missing scope
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/auth_error'
                  - properties:
                      status_code:
                        type: integer
                        enum:
                          - 403
                      type:
                        type: string
                        enum:
                          - auth_error
                      code:
                        type: string
                        enum:
                          - missing_scope
                      message:
                        type: string
        '404':
          description: User or role not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/not_found'
        '422':
          description: The validation error(s)
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      success:
                        type: boolean
                        example: false
                      error:
                        type: object
                        properties:
                          issues:
                            type: array
                            items:
                              type: object
                              properties:
                                code:
                                  type: string
                                path:
                                  type: array
                                  items:
                                    anyOf:
                                      - type: string
                                      - type: number
                                message:
                                  type: string
                              required:
                                - code
                                - path
                          name:
                            type: string
                        required:
                          - issues
                          - name
                        example:
                          name: ZodError
                          issues:
                            - code: invalid_type
                              path:
                                - role
                              message: Required
                    required:
                      - success
                      - error
                  - type: object
                    properties:
                      success:
                        type: boolean
                        example: false
                      error:
                        type: object
                        properties:
                          issues:
                            type: array
                            items:
                              type: object
                              properties:
                                code:
                                  type: string
                                path:
                                  type: array
                                  items:
                                    anyOf:
                                      - type: string
                                      - type: number
                                message:
                                  type: string
                              required:
                                - code
                                - path
                          name:
                            type: string
                        required:
                          - issues
                          - name
                        example:
                          name: ZodError
                          issues:
                            - code: invalid_type
                              path:
                                - id
                              message: Required
                    required:
                      - success
                      - error
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rate_limit'
        '500':
          description: Internal server error
          content: {}
components:
  schemas:
    ClientUserUpdate:
      type: object
      properties:
        role:
          type: string
          enum:
            - admin
            - user
          description: Role to assign to the invited user. Can be 'admin', 'user'.
          title: UserRole
          examples:
            - admin
            - user
      required:
        - role
    ClientUser:
      type: object
      properties:
        id:
          type: string
          format: cuid
          description: Identifier of the client user.
          example: cmf41ajzv003706un4i99q1a0
        createdAt:
          type: string
          format: date-time
          description: >-
            The date and time when the client user record was created. ISO-8601
            format (YYYY-MM-DDTHH:MM:SSZ).
          example: '2024-05-14T08:30:00Z'
        email:
          type: string
          format: email
          description: Email address of the client user.
          example: frida@example.com
        firstName:
          type:
            - string
            - 'null'
          description: First name of the client user, if provided.
          example: Frida
        lastName:
          type:
            - string
            - 'null'
          description: Last name of the client user, if provided.
          example: Meyer
        roles:
          type: array
          items:
            type: string
            description: Role name assigned to the user.
            example: client_admin
          description: List of role names assigned to the user.
      required:
        - id
        - createdAt
        - email
        - firstName
        - lastName
        - roles
    bad_request:
      type: object
      properties:
        status_code:
          type: integer
          enum:
            - 410
        type:
          type: string
          enum:
            - bad_request
        code:
          type: string
          enum:
            - collect_token_expired
        message:
          type: string
      required:
        - status_code
        - type
        - code
        - message
    auth_error:
      type: object
      properties:
        status_code:
          type: integer
          enum:
            - 401
        type:
          type: string
          enum:
            - auth_error
        code:
          type: string
          enum:
            - unauthorized
        message:
          type: string
      required:
        - status_code
        - type
        - code
        - message
    not_found:
      type: object
      properties:
        status_code:
          type: integer
          enum:
            - 404
        type:
          type: string
          enum:
            - not_found
        code:
          type: string
          enum:
            - not_found
        message:
          type: string
      required:
        - status_code
        - type
        - code
        - message
    rate_limit:
      type: object
      properties:
        status_code:
          type: integer
          enum:
            - 429
        type:
          type: string
          enum:
            - rate_limit
        code:
          type: string
          enum:
            - too_many_requests
        message:
          type: string
      required:
        - status_code
        - type
        - code
        - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Bearer token authentication

````