# Update person **PUT /data/persons/{instance_id}** Update a person with data provided in the request body. JSON format is expected. Users can only update themselves unless they have admin permissions. Non-admins cannot change certain protected fields. Validates role, contract_type, two_factor_authentication, email, and expiration_date. Checks user limit when activating non-bot users. Protected accounts have restrictions. ## Servers - http://api.example.com: http://api.example.com () ## Authentication methods - Jwt authorization ## Parameters ### Path parameters - **instance_id** (string(uuid)) ### Body: application/json (object) - **first_name** (string) - **last_name** (string) - **email** (string(email)) - **password** (string) - **role** (string) Admin only - **active** (boolean) Admin only - **contract_type** (string) - **two_factor_authentication** (string) - **expiration_date** (string(date)) Person or admin only ## Responses ### 200 Person updated successfully #### Body: application/json (object) - **id** (string(uuid)) - **first_name** (string) - **last_name** (string) - **email** (string(email)) - **role** (string) - **active** (boolean) - **contract_type** (string) - **two_factor_authentication** (string) - **departments** (array[string(uuid)]) - **access_token** (string) - **created_at** (string(date-time)) - **updated_at** (string(date-time)) ### 400 Invalid data format or validation error or user limit reached or protected account restriction [Powered by Bump.sh](https://bump.sh)