docs: def activity(self, *args, **kwargs):
          # type: (*Any, **Any) -> Activity
          """Search for a single activity.
  
          If additional `keyword=value` arguments are provided, these are added to the request parameters. Please
          refer to the documentation of the KE-chain API for additional query parameters.
  
          :param pk: id (primary key) of the activity to retrieve
          :type pk: basestring or None
          :param name: filter the activities by name
          :type name: basestring or None
          :param scope: filter by scope id
          :type scope: basestring or None
          :return: a single :class:`models.Activity`
          :raises NotFoundError: When no `Activity` is found
          :raises MultipleFoundError: When more than a single `Activity` is found
          """
          _activities = self.activities(*args, **kwargs)
  
          if len(_activities) == 0:
              raise NotFoundError("No activity fits criteria")
          if len(_activities) != 1:
              raise MultipleFoundError("Multiple activities fit criteria")
  
          return _activities[0]