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

# Update firm staff member

> Updates a staff member in the firm associated with the authenticated client.



## OpenAPI

````yaml /openapi.json put /staff/{id}
openapi: 3.0.1
info:
  title: API
  version: '1.0'
servers:
  - url: https://api.smokeball.com
  - url: https://api.smokeball.com.au
  - url: https://api.smokeball.co.uk
  - url: https://stagingapi.smokeball.com
  - url: https://stagingapi.smokeball.com.au
  - url: https://stagingapi.smokeball.co.uk
security:
  - api-key: []
    token: []
paths:
  /staff/{id}:
    put:
      tags:
        - Staff
      summary: Update firm staff member
      description: >-
        Updates a staff member in the firm associated with the authenticated
        client.
      operationId: UpdateStaff
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json-patch+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/StaffDto'
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/StaffDto'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/StaffDto'
      responses:
        '202':
          description: >-
            When request is accepted. Returns a hypermedia 'Link' object of the
            staff member to be updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '404':
          description: When staff member does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    StaffDto:
      type: object
      properties:
        userId:
          type: string
          description: "Unique identifier of the associated user. Used to map staff member to the specified user id and ignored if left blank.\r\nUse the FirmUsers API to remove a staff/user mapping."
          nullable: true
          example: b471682e-fa17-4e46-b7fe-9b2b8fdcb3c2
        title:
          type: string
          description: Staff member's title.
          nullable: true
          example: Mr
        firstName:
          type: string
          description: Staff member's first name.
          nullable: true
          example: John
        middleName:
          type: string
          description: Staff member's middle name (if applicable).
          nullable: true
          example: ''
        lastName:
          type: string
          description: Staff member's last name.
          nullable: true
          example: Smith
        initials:
          type: string
          description: Staff member's initials.
          nullable: true
          example: JS
        phone:
          allOf:
            - $ref: '#/components/schemas/PhoneNumberDto'
          description: Staff member's phone number.
          nullable: true
        cell:
          allOf:
            - $ref: '#/components/schemas/PhoneNumberDto'
          description: Staff member's cell number.
          nullable: true
        email:
          type: string
          description: Staff member's email address.
          nullable: true
          example: john.smith@brown.com
        role:
          type: string
          description: Staff member's role.
          nullable: true
          example: Bookkeeper
        avatar:
          type: string
          description: Staff member's avatar.
          nullable: true
          example: https://example-avatar-url.com/image
        former:
          type: boolean
          description: "Whether he/she is a former member. \r\n\r\nCaution: Setting a staff member to former staff will also deregister them from the firm."
          nullable: true
          example: false
        colorFill:
          type: string
          description: Staff member's fill color hex code.
          nullable: true
          example: '#797d85'
        colorStroke:
          type: string
          description: Staff member's stroke color hex code.
          nullable: true
          example: '#64666a'
      additionalProperties: false
    Link:
      type: object
      properties:
        id:
          type: string
          nullable: true
        href:
          type: string
          nullable: true
        relation:
          type: string
          nullable: true
        method:
          type: string
          default: GET
          nullable: true
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    PhoneNumberDto:
      type: object
      properties:
        areaCode:
          type: string
          description: Phone area code.
          nullable: true
          example: '555'
        number:
          type: string
          description: Phone number (excluding area code).
          nullable: true
          example: '1234567'
      additionalProperties: false
  securitySchemes:
    api-key:
      type: apiKey
      name: x-api-key
      in: header
    token:
      type: apiKey
      name: Authorization
      in: header
      x-amazon-apigateway-authtype: cognito_user_pools

````