Add rows to a Google Sheet with a POST request
Send an object. Keys are matched to the column names in row 1.
curl -X POST "https://sheetlatch-api.quietlathe.com/v1/SHEET_ID/Signups" \
-H "x-api-key: $KEY" -H "content-type: application/json" \
-d '{"email":"dana@example.com","plan":"free"}'
It returns 201 and the row. Unknown column names return 422, so a typo cannot add a stray column. Writes need a paid plan and a key made in private mode, with the sheet shared to our service email as Editor.
Update instead of append
curl -X PATCH "https://sheetlatch-api.quietlathe.com/v1/SHEET_ID/Signups?email=dana@example.com" \
-H "x-api-key: $KEY" -d '{"plan":"paid"}'
An update without a match in the URL is rejected.
Concurrent writes to one sheet can interleave. For anything where order matters, use a database.
Early access. SheetLatch opens soon. Join the early-access list and we will email you once when it does. Planned free plan: 1,000 requests a month. SheetLatch is not affiliated with Google.