code: def __get_merged_api_info(self, services):
      
      base_paths = sorted(set(s.api_info.base_path for s in services))
      if len(base_paths) != 1:
        raise api_exceptions.ApiConfigurationError(
            'Multiple base_paths found: {!r}'.format(base_paths))
      names_versions = sorted(set(
          (s.api_info.name, s.api_info.api_version) for s in services))
      if len(names_versions) != 1:
        raise api_exceptions.ApiConfigurationError(
            'Multiple apis/versions found: {!r}'.format(names_versions))
      return services[0].api_info
docs: Builds a description of an API.
  
      Args:
        services: List of protorpc.remote.Service instances implementing an
          api/version.
  
      Returns:
        The _ApiInfo object to use for the API that the given services implement.