Skip to content

Administrative API

Sheetlabs provides a rich REST-based administrative API that allows you to perform all of the same functions as the Sheetlabs web interface. In fact, the Sheetlabs web interface is built on top of the very same API!

Authentication and authorisation

All requests to the Sheetlabs Admin API should include HTTP basic authentication, containing an administrative username and password (or authentication token).

Please see authentication and authorisation for more information on how to make authenticated requests.

Terminology

In the documentation and the linked OpenAPI specification, you will see references to terms like organisation and datatable_id. These are defined below.

Reference Description
organisation Your organisation's code, e.g. "ACME". You can find this in the My Account page
datatable_id The numeric ID of your data table. You can find this by using the "List data tables" endpoint described below
api_id The numeric ID of your API. You can find this by using the "List your APIs" endpoint detailed below
user_id The numeric ID of a user. You can find this by using the "List your users" endpoint below
record_id The Sheetlabs record ID that is used to uniquely identify a single record in a data table. This is the same as the __id field returned by the APIs.

Managing data tables and importing data

Description Method Endpoint
List data tables GET /datatables/{organisation}
Edit data table metadata PUT /datatables/{organisation}/{datatable_id}
Create a data table POST /datatables/{organisation}
Delete a data table DELETE /datatables/{organisation}/{datatable_id}
Fetch a Google Sheet GET /gsheets/fetch/{googleid}
Force a refresh from Google Sheets POST /datatables/google_refresh/{datatable_id}?force=true
Upload a CSV/XLSX and create a datatable POST /datatables/upload/{organisation}
Upload a CSV/XLSX to an existing datatable PUT /datatables/upload/{organisation}/{datatable_id}

Managing records in a data table

Description Method Endpoint
Listing records GET /records/{organisation}/{datatable_id}
Creating a record POST /records/{organisation}/{datatable_id}
Updating a record PUT /records/{organisation}/{datatable_id}/{record_id}
Deleting a record DELETE /records/{organisation}/{datatable_id}/{record_id}

Managing APIs

Description Method Endpoint
Listing your APIs GET /services/{organisation}
Creating an API POST /services/{organisation}
Updating an API PUT /services/{organisation}/{api_id}
Deleting an API DELETE /services/{organisation}/{api_id}

Managing users

Description Method Endpoint
Listing your users GET /users/{organisation}
Creating a user POST /users/{organisation}
Updating a user PUT /users/{organisation}/{user_id}
Deleting a user DELETE /users/{organisation}/{user_id}