def remove_stage(self, stage, edit_version=None, **kwargs):
        '''
        :param stage: A number for the stage index (for the nth stage, starting from 0), or a string of the stage index, name, or ID
        :type stage: int or string
        :param edit_version: if provided, the edit version of the workflow that should be modified; if not provided, the current edit version will be used (optional)
        :type edit_version: int
        :returns: Stage ID that was removed
        :rtype: string

        Removes the specified stage from the workflow
        '''
        stage_id = self._get_stage_id(stage)
        remove_stage_input = {"stage": stage_id}
        self._add_edit_version_to_request(remove_stage_input, edit_version)
        try:
            dxpy.api.workflow_remove_stage(self._dxid, remove_stage_input, **kwargs)
        finally:
            self.describe() # update cached describe
        return stage_id