code: def update_state_definition(self, state_model, process_id, wit_ref_name, state_id):
          
          route_values = {}
          if process_id is not None:
              route_values['processId'] = self._serialize.url('process_id', process_id, 'str')
          if wit_ref_name is not None:
              route_values['witRefName'] = self._serialize.url('wit_ref_name', wit_ref_name, 'str')
          if state_id is not None:
              route_values['stateId'] = self._serialize.url('state_id', state_id, 'str')
          content = self._serialize.body(state_model, 'WorkItemStateInputModel')
          response = self._send(http_method='PATCH',
                                location_id='31015d57-2dff-4a46-adb3-2fb4ee3dcec9',
                                version='5.0-preview.1',
                                route_values=route_values,
                                content=content)
          return self._deserialize('WorkItemStateResultModel', response)
docs: UpdateStateDefinition.
          [Preview API] Updates a given state definition in the work item type of the process.
          :param :class:`<WorkItemStateInputModel> <azure.devops.v5_0.work_item_tracking_process.models.WorkItemStateInputModel>` state_model:
          :param str process_id: ID of the process
          :param str wit_ref_name: The reference name of the work item type
          :param str state_id: ID of the state
          :rtype: :class:`<WorkItemStateResultModel> <azure.devops.v5_0.work_item_tracking_process.models.WorkItemStateResultModel>`