Skip to content

Datasets API

Endpoints for creating, reading, and updating datasets.

List datasets

GET /api/v1/datasets/

Returns all datasets (latest version of each by default).

Scope required: read

Query parameters:

Parameter Type Default Description
version latest | all | integer latest Which version(s) to return
fields list of field names datasetId, name, version, lastUpdatedBy, lastUpdatedOn Fields to include
datasetId string — Filter by dataset ID
name string — Filter by name
lastUpdatedBy string — Filter by editor username

Get dataset by ID

GET /api/v1/dataset/id/{datasetId}/

Returns the full dataset object for the given ID (latest version).

Scope required: read

Path parameters:

Parameter Description
datasetId 7-character dataset ID

Create dataset

POST /api/v1/dataset/

Creates a new dataset. The query is saved but not executed — results are populated when the dataset is updated with a query that has at least one filter.

Scope required: write

Request body: DatasetRevision

{
  "name": "My Dataset",
  "query": {
    "endpoint": "google_sheets?sheet_id=abc123",
    "filters": [],
    "node_deduplication_field": "location_name",
    "node_group_criteria": null,
    "node_group_layout": null
  }
}

Update dataset

PUT /api/v1/dataset/id/{datasetId}/

Saves a new version of the dataset. The query is executed against the datasource, and the results are stored in the new version.

Scope required: write

Path parameters:

Parameter Description
datasetId 7-character dataset ID

Request body: DatasetRevision (same structure as create)

Note

Updating a dataset executes the query live against the datasource. If the datasource is unavailable, the update will fail.