code: def restore_work_item(self, payload, id, project=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          if id is not None:
              route_values['id'] = self._serialize.url('id', id, 'int')
          content = self._serialize.body(payload, 'WorkItemDeleteUpdate')
          response = self._send(http_method='PATCH',
                                location_id='b70d8d39-926c-465e-b927-b1bf0e5ca0e0',
                                version='5.1-preview.2',
                                route_values=route_values,
                                content=content)
          return self._deserialize('WorkItemDelete', response)
docs: RestoreWorkItem.
          [Preview API] Restores the deleted work item from Recycle Bin.
          :param :class:`<WorkItemDeleteUpdate> <azure.devops.v5_1.work_item_tracking.models.WorkItemDeleteUpdate>` payload: Paylod with instructions to update the IsDeleted flag to false
          :param int id: ID of the work item to be restored
          :param str project: Project ID or project name
          :rtype: :class:`<WorkItemDelete> <azure.devops.v5_1.work-item-tracking.models.WorkItemDelete>`