Hey @elliot, thanks for the quick response!
As it happens, I was nesting my file and type field values an extra level before generating the XML call so I was sending an array like this:
array(
'pdf_xls' => 1,
array(
'pdf_xls_0_file' => 1111,
),
array(
'pdf_xls_0_type' => 'pdf',
),
);
When it should have been more like this:
array(
'pdf_xls' => 1,
'pdf_xls_0_file' => 1111,
'pdf_xls_0_type' => 'pdf',
);