by A W.
A colleague managed to solve this, transpires the issue is the array must be labelled 'enrolments' so:
$enrols[] = $enrolobj;
$params = array('enrolments' => $enrols);
works.
Quite how one could have reasonably deduced this from:
Missing required key in single structure: roleidi'm not sure but anyway all working now