It was causing the route to be re-processed with parsed params, leading to errors.
These actually pass the validation by the parser.
Previously, they just contained the entries of a `properties` hash inside a json schema definition.
We had weird nested arrays that were confusing, since they led to loops like: endpoint.definitions.each do |definitions| definitions.each do |definition| end end This was due to the fact that `Endpoint#definitions` was based on the hash grouping and therefore had a nested array. It's far less confusing to just return a flat array. Also, in one place we were doing a linear scan based on the array rather than using the hash like we should.