code: def get_api_type(self):
      obj = self._obj
      if self.is_class():
          return "class"
      elif inspect.ismodule(obj):
          return "module"
      elif (
          inspect.isbuiltin(obj)
          or inspect.ismethod(obj)
          or inspect.ismethoddescriptor(obj)
          or inspect.isfunction(obj)
      ):
          return "function"
      # Everything else...
      return "instance"
  
imports: import inspect
  import types
  import sys
  from textwrap import dedent
  import operator
  from collections import namedtuple
  from jedi._compatibility import unicode, is_py3, builtins, py_version, force_unicode, print_to_stderr
  from jedi.evaluate.compiled.getattr_static import getattr_static
label_desc: Use image node_id 23 for calling the DirectObjectAccess obj's underlying member method code with example usage: obj.get_api_type() and returns: str, str, str, str