Thanks for your feedback.
I had been following this sample. As the field name in the call to the API if I have tried using the variable name as known to the database, which seemed to be the value I needed to use, I have tried the label (just in case) and I have also tried the long hex variable I see in the $vars variable if I step through the normal creation logic.
If I step through the api php and ticket creation I seem to be getting the same variables as a normal staff creation, yet it's just not storing the data in the case of the api call.
.