Welcome to the Quick Base family Walker!
In my experience, validating what data is sent can be tricky. I assume within your Python script you can write to a console log or inspect the message that's sent.
If that's not available, the tool I use to troubleshoot my webhook payloads could be useful here. Requestbin (
link) allows you to setup a temporary URL to point a message at, then see what data comes through the call. With this, you can determine the formatting of your data body and hopefully see where the extra line is coming from.
Outside of the details above, I suspect that since a CSV file typically denotes separate records via a carriage return that the API is reading all four of your entries which includes the column header information. With that you could either remove that portion of your API call, or insert carriage returns for each line and the "skipfirst" parameter would then apply. For an example, see the details at the bottom of the API_ImportFromCSV documentation:
https://help.quickbase.com/api-guide/importfromcsv.html------------------------------
Eric Mohlman
------------------------------