Got it
When creating a page in the API its default status is published, whereas items entered into a repeater in the API seem to be unpublished and hidden. As such, you need to do the following to each item in the repeater:
$pageid = [your page generated via the API that contains the repeater] - must be saved before adding the repeater items in order to get the page ID
$repeaterpage = wire('pages')->get($pageid)->repeater_field->first();
$repeaterpage->removeStatus(Page::statusUnpublished);
$repeaterpage->removeStatus(Page::statusHidden);
$repeaterpage->save();
The code above only does it for the first item, but for my needs each repeater is only being imported with a single item for now and other items will be added over time - if you had more items in the repeater you would need to iterate through them of course.
Just needed some sleep and a morning coffee for this one I should have 600+ files imported from a third-party file management script by the end of the weekend now - just got a wedding to go to in the meantime else I'd have this all wrapped up by lunchtime I reckon