code: def call(symbol, **kwargs):
      
      LOG.info("API method %s called with args: %s", symbol, str(kwargs))
  
      # TODO(PH, JK) improve the way api function modules are loaded
      from . import all  # noqa
      if not is_call_registered(symbol):
          message = 'Did not find any method registered by symbol %s' % symbol
          raise MethodNotFound(message)
  
      if not symbol.startswith('core') and not CORE_MANAGER.started:
          raise CoreNotStarted(desc='CoreManager is not active.')
  
      call = get_call(symbol)
      try:
          return call(**kwargs)
      except BGPSException as r:
          LOG.error(traceback.format_exc())
          raise r
      except Exception as e:
          LOG.error(traceback.format_exc())
          raise ApiException(desc=str(e))
docs: Calls/executes BGPS public API identified by given symbol and passes
      given kwargs as param.