Minor bug/inconsistency on API

There is, but at the moment it’s only available to Enterprise customers.

I use a bit of apps script for this. Here’s an example you could adapt:

function remove_empty_rows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('YOUR SHEET NAME GOES HERE');
  var headers = sheet.getRange(1,1,1,sheet.getLastColumn()).getValues().shift();
  var concat_index = headers.indexOf('CHANGE THIS');
  var uuid_index = headers.indexOf('CHANGE THIS ALSO');
  var data = sheet.getRange(2,1,sheet.getLastRow()-1,sheet.getLastColumn()).getValues();
  var row = sheet.getLastRow();
  while (row > 2) {
    var rec = data.pop();
    var concat = rec[concat_index];
    var uuid = rec[uuid_index];
    if (concat == "" && uuid == "") {
      console.log("deleting row %s", row);

Basically with the above, I just picked two columns that I know should never be empty, and if both of them are then the row gets deleted.

As long as they don’t contain any formulas, Glide will ignore them and they won’t count.