"Basically, why does a direct manual curl command to Activiti return the proper error message, and our subprocess call to activiti does not?"
I' not sure I'm following the use case here, cause there is a lot going on here. But the error is clear:
org.activiti.engine.ActivitiObjectNotFoundException: no processes deployed with key 'CC.FailSubprocess' for tenant identifier 'CC'
There is no process definition with the 'CC.FailSubprocess' id deployed for that particular tenant id.
How does your ACT_RE_PROCDEF look like?
I'm not sure about the subprocess vs curl call … if curl does it right, i would look into the direction of resttemplate.