program - is this a required field?
I cannot tell you if your custom "program" field is required. It is not a default osTicket field.
status - is this a required field?
Again, I'm can't tell you about this field as it also appears to be a custom field.
The open ticket api cannot assign tickets at this time.
- priority level (if not submitted, is this automatically "normal")
The field name is priority
, it expects a number that you want the priority to be.
- CompID (new field that I added to regular form. where do I find the field name in database)
When you added this field you created the variable for it. Admin panel -> Manage -> Forms -> Ticket Details, see the Variable field for the field you added.