My experience is that Ktor tries to follow what standards exist, and in general a POST JSON body should be an object at the root, not an array. Even if some systems support it, that is what I expect is happening. Perhaps wrapping in a JsonArray would work?