There are two ways to go about this:
api1 = APIFunction["x" -> RepeatingElement["Integer"], Max[#d]&]
api2 = APIFunction["x" -> DelimitedSequence["Integer"], Max[#d]&]
and then
api1[{"x" -> "1", "x" -> "2", "x" -> "3", "x" -> "4"}]
api1[{"x" -> {"1", "2", "3", "4"}}]
api2["x" -> "1, 2, 3, 4"]
So the difference between RepeatingElement and DelimitedSequence is that the first takes repeated keys, while the second will split a string for you.