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} |