pub async fn run( endpoint_names: Vec<String>, endpoint_data: HashMap<String, EndpointMetadata>, param_defaults: HashMap<String, HashMap<String, String>>, ) -> Result<()>