Thank you, @Yuri Marx @Robert Cemper ! Works for me as well - my issue was that JSON.Adapter is case sensitive. if payload comes as:

{  "strprop": "string",   "BoolProp": true

error fires (very unreadable). I thought that reason is the boolean value, but turned out it is property naming issue - should 100% match either name in a class description, or special JSON property name clause.

This is how our ^%REST service is organized, that consumes OpenAPI spec (unfortunately not the latest one, but still workable 2.0) and generates package.spec.cls with map , package.disp.cls with dispatch and params handling and package.impl.cls with business logic implementation stubs. 

But what ^%REST doesn't provide - it doesn't generate unit-tests to make sure that all the impl.cls methods and dispatch methods work as expected. @David.Hockenbroch's article here is very focused exactly on this gap, thank you, Dave.

Wow. Thanks @Vitaliy Serdtsev !

This is impressive. 

So if I understand properly, LOAD DATA guesses somehow that id is the idkey and primarykey here?

&sql(LOAD DATA FROM FILE 'C:\data\companies.csv'
  INTO dc_onetomany.companies(id,name,industry,description,website)
  USING {"from":{"file":{"header":true}}})

if AllowIdentityInsert =1?