Update Row
curl --request PATCH \
--url https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
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 => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.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::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"updated": 123,
"warning": "<string>",
"ignored_keys": [
"<string>"
]
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}{
"message": "<string>",
"data": {}
}Endpoint examples
Update Row
Updates specific fields on an existing row. Only provided fields are modified; others remain unchanged.
PATCH
/
{endpointNamespace}
/
{projectName}
/
{tabSlug}
/
{rowId}
Update Row
curl --request PATCH \
--url https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
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 => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.sheetninja.io/{endpointNamespace}/{projectName}/{tabSlug}/{rowId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.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::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"updated": 123,
"warning": "<string>",
"ignored_keys": [
"<string>"
]
}{
"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 >= 2Body
application/json
An object containing the column keys and new values to update
Was this page helpful?
⌘I
