422 is usually a mis-formatted YML. I think you just have to make sure that there is no data formatting applied to the body of the request for it to be fine. You can take a look at our Python API code here if you need some inspiration from code and here are some super-simple example policies.
I defaulted to powershell to figure out more since I’m not as familiar with Ansible and it seems as though powershell’s file input cmdlet (Get-Content) loads a file line by line as a collection and not a single item. After adding the -raw switch everything went perfect!
I’m hoping that Ansible will be a similar issue. Thanks!