API Reference

Bulk upsert of datasets

Description

Asynchronously upserts an array of datasets to a spreadsheet, given their properties. Each sheet can have only one dataset, and its range will always start with A1.

Bulk upsertion creates or updates datasets in sheets and performs any calculations after it completes. When complete, the dataset's range is locked through both the UI and endpoints that write values to a sheet. To change the values in a dataset, either upsert new values using this endpoint again, or delete the dataset.

If any dataset fails to upsert, no datasets upsert, and no changes commit.

Each dataset in the array requires sheet and values. Partial upserts are not supported.

Values may be strings, numbers, integers, or booleans. To indicate an empty cell, provide an empty string.

POST /spreadsheets/{spreadsheetId}/datasets/bulkUpsert

🚧

Required OAuth Scopes:

file:write

Parameters

ParameterInTypeRequiredDescription
spreadsheetIdpathstringtrueThe unique identifier of the spreadsheet
bodybodyDatasetstrueAn array of datasets

Body parameter example

[
  {
    "sheet": "27f1b61c04ae4b0991bc73c631914e1d",
    "values": [
      [
        1,
        4
      ],
      [
        2,
        ""
      ]
    ]
  }
]

Code Samples

curl -X POST https://api.app.wdesk.com/platform/v1/spreadsheets/{spreadsheetId}/datasets/bulkUpsert  \ 
-H 'Content-Type: application/json' \ 
-H 'Authorization: Bearer {access-token}'
http POST https://api.app.wdesk.com/platform/v1/spreadsheets/{spreadsheetId}/datasets/bulkUpsert  \ 
Content-Type:application/json \ 
Authorization:"Bearer {access-token}"
wget --method=POST "https://api.app.wdesk.com/platform/v1/spreadsheets/{spreadsheetId}/datasets/bulkUpsert" \
 --output-document -  \ 
 --header 'Content-Type: application/json' \ 
 --header 'Authorization: Bearer {access-token}'
import requests
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.app.wdesk.com/platform/v1/spreadsheets/{spreadsheetId}/datasets/bulkUpsert', headers = headers)

print(r.headers['Location'])

Returns

202 - Accepted

HeaderDescription
LocationThe location to poll for the operation result.
Retry-AfterThe number of seconds to wait before polling for a result and between polling attempts.