diff --git a/src/common/slurm_protocol_api.c b/src/common/slurm_protocol_api.c
index b399ef861bc96b3a176267789c866467fac82074..3a492b2afb8f40c866d2ac174e473bb43d3de392 100644
--- a/src/common/slurm_protocol_api.c
+++ b/src/common/slurm_protocol_api.c
@@ -405,6 +405,24 @@ extern int slurm_get_env_timeout(void)
 	return timeout;
 }
 
+/* slurm_get_max_array_size
+ * return MaxArraySize configuration parameter
+ */
+extern uint32_t slurm_get_max_array_size(void)
+{
+	int max_array_size = 0;
+	slurm_ctl_conf_t *conf;
+
+	if (slurmdbd_conf) {
+	} else {
+		conf = slurm_conf_lock();
+		max_array_size = conf->max_array_sz;
+		slurm_conf_unlock();
+	}
+	return max_array_size;
+}
+
+
 /* slurm_get_mpi_default
  * get default mpi value from slurmctld_conf object
  * RET char *   - mpi default value from slurm.conf,  MUST be xfreed by caller
diff --git a/src/common/slurm_protocol_api.h b/src/common/slurm_protocol_api.h
index 1aa6fd4543044f9d900cb9d191d5350c83984fcd..349e425e6b72ac0edc0e240d1b0402c5a91a5f2d 100644
--- a/src/common/slurm_protocol_api.h
+++ b/src/common/slurm_protocol_api.h
@@ -164,6 +164,11 @@ uint32_t slurm_get_epilog_msg_time(void);
  */
 extern int slurm_get_env_timeout(void);
 
+/* slurm_get_max_array_size
+ * return MaxArraySize configuration parameter
+ */
+extern uint32_t slurm_get_max_array_size(void);
+
 /* slurm_get_mpi_default
  * get default mpi value from slurmctld_conf object
  * RET char *   - mpi default value from slurm.conf,  MUST be xfreed by caller