Datasets
Lists datasets for the workspace with current ontology conceptVersions on every source. Paginated (limit, cursor).
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Page size (1-1000, default 50).
1Opaque cursor from a previous response's pagination.cursor.
exampleSuccessful response
Unauthorized
Forbidden
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [],
"pagination": {
"cursor": "text",
"hasMore": true,
"total": 1
}
}Creates a new dataset — a derived, queryable table over one or more sources. Body: name, sources, operations, optional description, tags, anchorConceptId. Every non-empty source must include conceptVersions with exactly one entry per conceptId, copied from a current GET or recommendation response; stale versions return a conflict. Returns the created dataset document.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Successful response
Payload not declared in this repo
Bad Request
Unauthorized
Forbidden
Unprocessable Entity
Too Many Requests; the response carries Retry-After
Internal Server Error
POST /api/v1/workspaces/{wsId}/datasets HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 391
{
"name": "text",
"sources": [
{
"id": "text",
"type": "text",
"name": null,
"conceptIds": [
"text"
],
"conceptVersions": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"version": {
"kind": "text"
}
}
],
"operations": [
{
"id": "text",
"sourceId": "text",
"config": {
"type": "text",
"filterGroup": {
"column": "text",
"comparisonOperator": "Equal to",
"value": "text",
"correctType": true
}
}
}
],
"description": null,
"tags": [
"text"
],
"anchorConceptId": null
}{
"data": "text"
}Returns the dataset by id with current ontology conceptVersions on every source. Must belong to the workspace.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Successful response
Payload not declared in this repo
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/{id} HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": "text"
}Deletes the dataset. Its sources are left intact. Requires full permission.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123No Content
No content
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
DELETE /api/v1/workspaces/{wsId}/datasets/{id} HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Updates name, description, tags, sources, operations, anchorConceptId. A sources update must round-trip conceptVersions from a current GET and include exactly one version per conceptId; stale versions return a conflict. Changing sources/operations may change schema and row count.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Successful response
Payload not declared in this repo
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Too Many Requests; the response carries Retry-After
Internal Server Error
PATCH /api/v1/workspaces/{wsId}/datasets/{id} HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 237
{
"name": "text",
"description": null,
"tags": [
"text"
],
"sources": [
{
"id": "text",
"type": "text",
"name": null,
"conceptIds": [
"text"
],
"conceptVersions": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"version": {
"kind": "text"
}
}
],
"operations": [],
"anchorConceptId": null
}{
"data": "text"
}Returns recommended dataset definitions for the workspace (e.g. based on ontology or usage). Used to suggest datasets to create.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Successful response
Payload not declared in this repo
Unauthorized
Forbidden
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/recommended HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": "text"
}Returns the dataset with enriched metadata: output schema, column metadata, row count, concept metadata, operation details. Use when you need full schema and stats without fetching records.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Successful response
Payload not declared in this repo
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/{id}/enriched HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": "text"
}Returns schema entries, column metadata, and row count for the dataset in one call. More efficient than fetching schema and records separately when you only need structure and count.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Successful response
Payload not declared in this repo
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/{id}/metadata HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": "text"
}Returns paginated rows from the dataset. Query params: limit (default 50, max 1000), cursor (opaque, from the previous response's pagination.cursor). Data is computed on demand from sources and operations; no materialisation.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Page size (1-1000, default 50).
1Opaque cursor from a previous response's pagination.cursor.
exampleSuccessful response
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/{id}/records HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [],
"pagination": {
"cursor": "text",
"hasMore": true,
"total": 1
}
}Returns the output schema (list of schema entries) for the dataset. Reflects the result of applying all operations to the sources.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Successful response
Payload not declared in this repo
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/{id}/schema HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": "text"
}Validates an operations chain without persisting anything — a schema dry-run. Body: sources, operations (same shape as a dataset). Returns sourceSchemas, operationSchemas (schema after each step), finalSchema, and the enriched dataset preview. Use to check schema and metadata before creating or updating a dataset.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Path parameter: wsId
123Path parameter: id
123Successful response
Payload not declared in this repo
Bad Request
Unauthorized
Forbidden
Not Found
Unprocessable Entity
Too Many Requests; the response carries Retry-After
Internal Server Error
POST /api/v1/workspaces/{wsId}/datasets/{id}/validate HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 319
{
"sources": [
{
"id": "text",
"type": "text",
"name": null,
"conceptIds": [
"text"
],
"conceptVersions": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"version": {
"kind": "text"
}
}
],
"operations": [
{
"id": "text",
"sourceId": "text",
"config": {
"type": "text",
"filterGroup": {
"column": "text",
"comparisonOperator": "Equal to",
"value": "text",
"correctType": true
}
}
}
]
}{
"data": "text"
}Streams the dataset result as a file. Path param format: csv, json, or parquet. Response is streaming with appropriate Content-Type and Content-Disposition. Requires exports:read scope.
An API key (pk_...) created on the Organisation API page, or an OAuth access token. Every operation requires one.
Export format
csvPossible values: Successful response
Payload not declared in this repo
Bad Request
Unauthorized
Forbidden
Not Found
Too Many Requests; the response carries Retry-After
Internal Server Error
GET /api/v1/workspaces/{wsId}/datasets/{id}/export/{format} HTTP/1.1
Host: sandbox.rootcause.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": "text"
}Last updated

