Creating a Request (cr factory) ticket works fine through REST when it has no properties or when the category has properties which auto-populate.
It does not seem to work when the request category has properties which auto-populate and some of them are set to required.
In this scenario it would be recommended to set a default value for the required properties and then make a second REST call to update the value of the property with the correct value.
For example if CI auto populates, the initial REST call will not allow affected_resource to be set to NULL.
A default value must be set for affected_resource to initially create the ticket, then a second call can be made to set this value to NULL.
You can set the HTTP header X-AttrsToNull and assign a NULL value to an attribute for the update operations.
Detailed information on REST HTTP Methods can be found below:
https://docops.ca.com/ca-service-management/14-1/en/reference/ca-service-desk-manager-reference-commands/technical-reference/rest-http-methods#RESTHTTPMethods-NULLValueinUpdateOperation