Delete Row
curl --request DELETE \
--url https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"deleted": 123
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}Endpoint examples
Delete Rows
Permanently removes the row from the sheet. Note that subsequent rows will shift up to fill the gap.
DELETE
/
{endpointNamespace}
/
{projectName}
/
{tabSlug}
/
{rowId}
Delete Row
curl --request DELETE \
--url https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"deleted": 123
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}Authorizations
The Bearer Token associated with your endpoint. This is only required if you have enabled protection for this endpoint.
Path Parameters
Your unique user namespace
The slugified name of your project
The slugified name of the specific worksheet (tab)
The physical row number in the Google Sheet (Note: Row 1 is the header row)
Required range:
x >= 2Response
Row successfully deleted
The number of rows deleted (typically 1)
Was this page helpful?
⌘I
