When using catalog/batch-upsert items are inserted and 400 error returned

We had an item that’s variation was enabled for a location the parent item was not enabled for. This caused a 400 error in our batch upsert. So we never got the square ids sent back and on subsequent posts we simply kept inserting the same items. I would expect that if a batch fails, either we would get back the itemids of the inserted items along with an error or the entire batch would fail. is this the expected behavoir?