docs: def get_sessionless_launch_url_for_external_tool_courses(self, course_id, assignment_id=None, id=None, launch_type=None, module_item_id=None, url=None):
          """
          Get a sessionless launch url for an external tool.
  
          Returns a sessionless launch url for an external tool.
          
          NOTE: Either the id or url must be provided unless launch_type is assessment or module_item.
          """
          path = {}
          data = {}
          params = {}
  
          # REQUIRED - PATH - course_id
          """ID"""
          path["course_id"] = course_id
  
          # OPTIONAL - id
          """The external id of the tool to launch."""
          if id is not None:
              params["id"] = id
  
          # OPTIONAL - url
          """The LTI launch url for the external tool."""
          if url is not None:
              params["url"] = url
  
          # OPTIONAL - assignment_id
          """The assignment id for an assignment launch. Required if launch_type is set to "assessment"."""
          if assignment_id is not None:
              params["assignment_id"] = assignment_id
  
          # OPTIONAL - module_item_id
          """The assignment id for a module item launch. Required if launch_type is set to "module_item"."""
          if module_item_id is not None:
              params["module_item_id"] = module_item_id
  
          # OPTIONAL - launch_type
          """The type of launch to perform on the external tool. Placement names (eg. "course_navigation")
          can also be specified to use the custom launch url for that placement; if done, the tool id
          must be provided."""
          if launch_type is not None:
              self._validate_enum(launch_type, ["assessment", "module_item"])
              params["launch_type"] = launch_type
  
          self.logger.debug("GET /api/v1/courses/{course_id}/external_tools/sessionless_launch with query params: {params} and form data: {data}".format(params=params, data=data, **path))
          return self.generic_request("GET", "/api/v1/courses/{course_id}/external_tools/sessionless_launch".format(**path), data=data, params=params, no_data=True)