Skip to main content

Dataset References

Manage associations between reports and datasets, including filters, aliases, and snapshot settings.

Overview​

Reports can reference multiple datasets, each with:

  • Alias - Unique identifier within the report (e.g., orders, customers)
  • Label - Display name for the dataset
  • Filter - Applied criteria to limit data
  • Chips - Filter UI components
  • Snapshot Settings - Configuration for including historical dataset snapshots

GET /api/reports/{id}/dataset-refs​

Get all dataset references for a report with field metadata and record counts.

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringReport ID

Response:

Each binding (keyed by alias) with its dataset, filtered record count, and overall count. Counts are -1 when the dataset is not indexed.

List dataset referencesGET /api/reports/admin:sales-overview/dataset-refs
Each binding (keyed by alias) with its dataset, filtered record count, and overall count. Counts are -1 when the dataset is not indexed.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/dataset-refs"
}
},
"start": 0,
"count": 1,
"total": 1,
"_embedded": {
"inf:report-dataset": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/dataset-refs/orders"
}
},
"id": "orders",
"filter": {},
"chips": [],
"alias": "orders",
"label": "Orders",
"tenant": "acme",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"reportId": "00000000-0000-4000-8000-000000000001",
"datasetId": "00000000-0000-4000-8000-000000000002",
"snapshots.tenant": null,
"snapshots.id": null,
"snapshots.type": null,
"snapshots.includeLatest": null,
"snapshots.n": null,
"snapshots.userSettingsId": null,
"snapshots.jobDatasetId": null,
"snapshots.assistantDatasetId": null,
"snapshots.reportDatasetId": null,
"snapshots.createdAt": null,
"snapshots.updatedAt": null,
"snapshots.snapshotDatasets.tenant": null,
"snapshots.snapshotDatasets.id": null,
"snapshots.snapshotDatasets.snapshotSettingsId": null,
"snapshots.snapshotDatasets.datasetId": null,
"snapshots.snapshotDatasets.createdAt": null,
"snapshots.snapshotDatasets.updatedAt": null,
"count": -1,
"countWithoutSnapshots": 1000,
"overallCount": 1000,
"_embedded": {
"inf:dataset": {
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002"
},
"inf:draft": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft"
},
"inf:run": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_run"
},
"inf:benchmark": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_benchmark"
},
"inf:refresh": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_refresh"
},
"inf:data": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/data{?start,limit,q,sort,show,report}",
"templated": true
},
"inf:user-settings": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/settings"
},
"inf:query": {
"href": "https://informer.example.com/api/queries/00000000-0000-4000-8000-000000000003"
},
"inf:owner": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/owner"
},
"inf:search": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_search{?query,_source,sort,from,size,searchType,aggs,report,aggregations,alias,snapshots}",
"templated": true
},
"inf:mapping": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/mapping"
},
"inf:job-templates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/job-templates"
},
"inf:fields": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/fields"
},
"inf:count": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/count"
},
"inf:comments": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/comments"
},
"inf:visuals": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/visuals"
},
"inf:visual-templates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/visual-templates"
},
"inf:dataset-tags": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/tags"
},
"inf:dataset-tag": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/tags/{tagId}",
"templated": true
},
"inf:discover": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/discover"
},
"inf:filters": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/filters"
},
"inf:dataset-shares": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/shares"
},
"inf:flow": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/flow"
},
"inf:group": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/group"
},
"inf:group-rows": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/group-rows"
},
"inf:dataset-share": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/shares/{principalId}",
"templated": true
},
"inf:import": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/_import"
},
"inf:exceptions": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/_exceptions"
},
"inf:search-aggregates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/_search-aggregates"
},
"inf:exporters": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/exporters"
},
"inf:favorite": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/favorite"
},
"inf:export-bundle": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/_export"
},
"edit": {
"href": "https://informer.example.com/api/reports/admin%3Anorthwind-orders/_edit"
}
},
"naturalId": "admin:northwind-orders",
"permissions": {
"edit": true,
"share": true,
"delete": true,
"write": true,
"addVisual": true,
"deleteVisual": true,
"changeOwner": true,
"copy": true,
"rename": true,
"refresh": true,
"modifyFlows": true,
"replaceFile": true,
"modifySettings": true,
"createDataView": true,
"assignTags": true,
"createFilter": true,
"scriptFields": true,
"setIndex": false
},
"id": "00000000-0000-4000-8000-000000000002",
"tenant": "acme",
"ownerId": "admin",
"slug": "northwind-orders",
"name": "Northwind Orders",
"description": "A dataset consisting of all orders in the northwind system (public schema)",
"embedded": false,
"esIndex": null,
"esIndexName": "northwind-orders",
"esType": "data",
"records": -1,
"size": "524288",
"source": "northwind-datasets",
"sourceId": null,
"params": {},
"dataUpdatedAt": "2026-01-15T16:20:00.000Z",
"dataExpiresAt": null,
"ttl": null,
"append": false,
"shared": false,
"timestampField": null,
"lastDurationMillis": "1500",
"windowSize": 500,
"settings": {},
"flow": [],
"esId": null,
"lastQueriedAt": "2026-01-15T16:20:00.000Z",
"esWorkers": 1,
"datasetFieldReportAccess": false,
"parentId": null,
"templateProcessorId": null,
"deleteDate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"datasourceId": null,
"reportId": "00000000-0000-4000-8000-000000000001",
"queryId": "00000000-0000-4000-8000-000000000003",
"editingId": null,
"folderId": null,
"query": {
"naturalId": "00000000-0000-4000-8000-000000000003",
"fields": null,
"permissions": {
"assignTags": true,
"changeOwner": true,
"copy": true,
"delete": true,
"edit": true,
"rename": true,
"run": true,
"share": true,
"write": true
},
"id": "00000000-0000-4000-8000-000000000003",
"tenant": "acme",
"ownerId": "admin",
"slug": null,
"name": null,
"description": null,
"shared": false,
"embedded": true,
"source": null,
"sourceId": null,
"settings": {},
"inputs": null,
"language": "informer",
"flow": [
{
"calculatedField": {
"alias": "salesperson",
"label": "Salesperson",
"script": "FirstName + ' ' + LastName"
}
},
{
"calculatedField": {
"alias": "orderAmount",
"label": "Order Amount",
"script": "UnitPrice * Quantity"
}
},
{
"calculatedField": {
"alias": "shipState",
"label": "Ship State",
"script": "ShipCountry === \"USA\" ? ShipRegion : null"
}
}
],
"payload": {
"fields": [
{
"id": "OrderDate",
"path": "OrderDate",
"type": "field",
"label": "Order Date",
"fieldId": "OrderDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date_tz",
"distinct": false,
"position": 0,
"aggregate": null
},
{
"id": "RequiredDate",
"path": "RequiredDate",
"type": "field",
"label": "Required Date",
"fieldId": "RequiredDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date_tz",
"distinct": false,
"position": 1,
"aggregate": null
},
{
"id": "ShipAddress",
"path": "ShipAddress",
"type": "field",
"label": "Ship Address",
"fieldId": "ShipAddress",
"grouped": false,
"linkRef": null,
"rawType": "character varying",
"dataType": "keyword_text",
"distinct": false,
"position": 2,
"aggregate": null
},
"… 10 more items (13 total) — omitted from docs"
],
"source": {
"id": "00000000-0000-4000-8000-000000000004:public+orders",
"schemaId": "public",
"mappingId": "orders"
},
"groupBy": [],
"linkRefs": [
{
"id": "employees",
"linkId": "00000000-0000-4000-8000-000000000004:public+orders:employees",
"details": {
"id": "00000000-0000-4000-8000-000000000004:public+orders:employees",
"defn": [
{
"toField": "EmployeeID",
"operator": "=",
"toSchema": "public",
"fromField": "EmployeeID",
"toMapping": "employees",
"fromSchema": "public",
"fromMapping": "orders"
}
],
"toId": "00000000-0000-4000-8000-000000000004:public+employees",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+orders",
"linkId": "employees"
}
},
{
"id": "order-details",
"linkId": "00000000-0000-4000-8000-000000000004:public+orders:order-details",
"details": {
"id": "00000000-0000-4000-8000-000000000004:public+orders:order-details",
"defn": [
{
"toField": "OrderID",
"operator": "=",
"toSchema": "public",
"fromField": "OrderID",
"toMapping": "order_details",
"fromSchema": "public",
"fromMapping": "orders"
}
],
"toId": "00000000-0000-4000-8000-000000000004:public+order_details",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+orders",
"linkId": "order-details"
}
},
{
"id": "order-details/products",
"linkId": "00000000-0000-4000-8000-000000000004:public+order_details:products",
"details": {
"id": "00000000-0000-4000-8000-000000000004:public+order_details:products",
"defn": [
{
"toField": "ProductID",
"operator": "=",
"toSchema": "public",
"fromField": "ProductID",
"toMapping": "products",
"fromSchema": "public",
"fromMapping": "order_details"
}
],
"toId": "00000000-0000-4000-8000-000000000004:public+products",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+order_details",
"linkId": "products"
}
}
]
},
"defnUpdatedAt": null,
"limit": -1,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"datasourceId": "00000000-0000-4000-8000-000000000004",
"editingId": null,
"folderId": null,
"datasource": {
"defaultLinkType": "sql",
"aiSystemMessage": "This is a PostgresSQL database. Identifiers are case-sensitive by default. \n Always surround all column names, table names, and schema names in double-quotes (\"). \n For example:\n SELECT \"OrderID\", \"ShipCountry\" FROM \"public\".\"orders\" WHERE \"ShipCity\" = 'Raleigh';\n ---",
"family": "sql",
"languages": [
"informer",
"sql",
"distinctValue",
"… 2 more items (5 total) — omitted from docs"
],
"naturalId": "admin:northwind",
"image": "/opt/informer/packages/informer-server/modules/sql/images/postgres.svg",
"compatibility": [],
"permissions": {
"assignTags": true,
"edit": true,
"delete": true,
"share": true,
"write": true,
"changeOwner": true,
"ping": true,
"scan": true,
"downloadSchema": true,
"importData": true,
"importSchema": true,
"rename": true,
"editConnection": true,
"createLink": true,
"setWrite": true,
"createSuite": true,
"createFieldExpression": true,
"createMapping": false,
"bundle": true,
"query": true
},
"id": "00000000-0000-4000-8000-000000000004",
"tenant": "acme",
"ownerId": "admin",
"slug": "northwind",
"name": "Northwind",
"description": null,
"embedded": false,
"type": "postgres",
"connection": {
"host": "localhost",
"pool": {
"max": 5,
"min": 0,
"idle": 10000,
"acquire": 10000
},
"port": 5432,
"user": "northwinduser",
"database": "northwind",
"password": "encrypted:iv:0000000000000000",
"idleTimeoutMillis": 7
},
"scannedAt": "2026-01-15T16:20:00.000Z",
"schemaUpdatedAt": "2026-01-15T16:20:00.000Z",
"rescanRequired": false,
"shared": false,
"schemas": [
"public"
],
"source": null,
"sourceId": null,
"settings": {
"multiSchema": false,
"useFakeData": false,
"remoteQueryBatchSize": {
"multiKey": 500,
"singleKey": 500
},
"usePreparedStatements": false
},
"data": null,
"appId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"folderId": null,
"fileId": null,
"shares": []
}
},
"_embedded": {
"inf:field": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/fields/OrderDate"
}
},
"label": "Order Date",
"source": "Indexed",
"id": "00000000-0000-4000-8000-000000000005",
"tenant": "acme",
"name": "OrderDate",
"datasetId": "00000000-0000-4000-8000-000000000002",
"position": 0,
"dataType": "date",
"script": null,
"typeMapping": {
"type": "date"
},
"formatOptions": null,
"lockFieldId": true,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"fieldId": null,
"field": null
},
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/fields/FirstName"
}
},
"label": "Employee First Name",
"source": "Indexed",
"id": "00000000-0000-4000-8000-000000000006",
"tenant": "acme",
"name": "FirstName",
"datasetId": "00000000-0000-4000-8000-000000000002",
"position": 8,
"dataType": "keyword_text",
"script": null,
"typeMapping": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"fielddata": true
}
}
},
"formatOptions": null,
"lockFieldId": true,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"fieldId": null,
"field": null
},
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000002/fields/LastName"
}
},
"label": "Employee Last Name",
"source": "Indexed",
"id": "00000000-0000-4000-8000-000000000007",
"tenant": "acme",
"name": "LastName",
"datasetId": "00000000-0000-4000-8000-000000000002",
"position": 9,
"dataType": "keyword_text",
"script": null,
"typeMapping": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"fielddata": true
}
}
},
"formatOptions": null,
"lockFieldId": true,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"fieldId": null,
"field": null
},
"… 13 more items (16 total) — omitted from docs"
],
"inf:filter": []
}
}
}
}
]
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

Response Fields:

FieldTypeDescription
idstringAlias (same as alias)
aliasstringUnique identifier within report
datasetIdstringReferenced dataset ID
labelstringDisplay name
filterobjectApplied filter criteria
chipsarrayFilter UI components
countintegerFiltered record count (with report-level filters)
countWithoutSnapshotsintegerCount excluding snapshot data
overallCountintegerCount including all snapshots
snapshotsobjectSnapshot configuration (if enabled)
datasetobjectFull dataset metadata including fields

POST /api/reports/{id}/dataset-refs​

Add a new dataset reference to a report.

Authentication: Required

Permissions: report:write

Path Parameters:

ParameterTypeDescription
idstringReport ID

Request Body:

{
"reportId": "team:sales-dashboard",
"datasetId": "customers-2024",
"alias": "customers",
"label": "Customer Data",
"filter": {
"criteria": [
{
"field": "region",
"op": "eq",
"value": "West"
}
]
},
"chips": [
{
"field": "region",
"label": "Region: West"
}
],
"snapshots": {
"includeLatest": true,
"type": "n",
"n": 3,
"snapshotDatasets": ["snapshot-1", "snapshot-2"]
}
}

Required Fields:

FieldTypeDescription
reportIdstringReport ID
datasetIdstringDataset to reference
aliasstringUnique alias (1-150 chars, alphanumeric + underscore/hyphen, must start with letter/number/underscore)
labelstringDisplay name (1-150 chars)

Optional Fields:

FieldTypeDefaultDescription
filterobject{}Filter criteria
chipsarray[]Filter UI components
snapshotsobjectnullSnapshot settings

Snapshot Settings:

FieldTypeDefaultDescription
includeLatestbooleantrueInclude the latest dataset data
typestring-Snapshot selection type: n (last N snapshots) or null
ninteger1Number of recent snapshots to include (when type is n)
snapshotDatasetsarray[]Specific snapshot dataset IDs to include

Response:

Responds 201 Created with the new binding and a Location header.

Add a dataset referencePOST /api/reports/admin:sales-overview/dataset-refs
Binds another dataset (or the same one under a new alias) to the report. reportId is the report UUID. Responds 201 with a Location header.
Request body
{
"reportId": "00000000-0000-4000-8000-000000000001",
"datasetId": "00000000-0000-4000-8000-000000000002",
"alias": "orders_archive",
"label": "Orders (Archive)"
}
Response · 201
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/00000000-0000-4000-8000-000000000003/dataset-refs/"
}
},
"id": "00000000-0000-4000-8000-000000000003",
"tenant": "acme",
"reportId": "00000000-0000-4000-8000-000000000001",
"datasetId": "00000000-0000-4000-8000-000000000002",
"alias": "orders_archive",
"label": "Orders (Archive)",
"filter": {},
"chips": [],
"updatedAt": "2026-01-15T16:20:00.000Z",
"createdAt": "2026-01-15T16:20:00.000Z"
}
Captured from the API examples test suite; ids and timestamps are normalized.

Validation:

  • Alias must be unique within the report
  • Alias must match regex: ^[a-zA-Z0-9_][a-zA-Z0-9_-]*$
  • Referenced dataset must exist and be accessible
  • Snapshot dataset IDs must belong to valid snapshots of the specified dataset

GET /api/reports/{id}/dataset-refs/{dataset}​

Get a specific dataset reference by alias.

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringReport ID
datasetstringDataset alias

Response:

Get a single dataset referenceGET /api/reports/admin:sales-overview/dataset-refs/orders
Looked up by its alias within the report.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/dataset-refs/orders"
}
},
"id": "00000000-0000-4000-8000-000000000001",
"filter": {},
"chips": [],
"alias": "orders",
"label": "Orders",
"tenant": "acme",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"reportId": "00000000-0000-4000-8000-000000000002",
"datasetId": "00000000-0000-4000-8000-000000000003",
"snapshots": null,
"_embedded": {
"inf:dataset": {
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003"
},
"inf:draft": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft"
},
"inf:run": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_run"
},
"inf:benchmark": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_benchmark"
},
"inf:refresh": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_refresh"
},
"inf:data": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/data{?start,limit,q,sort,show,report}",
"templated": true
},
"inf:user-settings": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/settings"
},
"inf:query": {
"href": "https://informer.example.com/api/queries/00000000-0000-4000-8000-000000000004"
},
"inf:owner": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/owner"
},
"inf:search": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_search{?query,_source,sort,from,size,searchType,aggs,report,aggregations,alias,snapshots}",
"templated": true
},
"inf:mapping": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/mapping"
},
"inf:job-templates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/job-templates"
},
"inf:fields": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/fields"
},
"inf:count": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/count"
},
"inf:comments": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/comments"
},
"inf:visuals": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/visuals"
},
"inf:visual-templates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/visual-templates"
},
"inf:dataset-tags": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/tags"
},
"inf:dataset-tag": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/tags/{tagId}",
"templated": true
},
"inf:discover": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/discover"
},
"inf:filters": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/filters"
},
"inf:dataset-shares": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/shares"
},
"inf:flow": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/flow"
},
"inf:group": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/group"
},
"inf:group-rows": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/group-rows"
},
"inf:dataset-share": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/shares/{principalId}",
"templated": true
},
"inf:import": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/_import"
},
"inf:exceptions": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/_exceptions"
},
"inf:search-aggregates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/_search-aggregates"
},
"inf:exporters": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/exporters"
},
"inf:favorite": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/favorite"
},
"inf:export-bundle": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/_export"
},
"edit": {
"href": "https://informer.example.com/api/reports/admin%3Anorthwind-orders/_edit"
}
},
"naturalId": "admin:northwind-orders",
"permissions": {
"edit": true,
"share": true,
"delete": true,
"write": true,
"addVisual": true,
"deleteVisual": true,
"changeOwner": true,
"copy": true,
"rename": true,
"refresh": true,
"modifyFlows": true,
"replaceFile": true,
"modifySettings": true,
"createDataView": true,
"assignTags": true,
"createFilter": true,
"scriptFields": true,
"setIndex": false
},
"id": "00000000-0000-4000-8000-000000000003",
"tenant": "acme",
"ownerId": "admin",
"slug": "northwind-orders",
"name": "Northwind Orders",
"description": "A dataset consisting of all orders in the northwind system (public schema)",
"embedded": false,
"esIndex": null,
"esIndexName": "northwind-orders",
"esType": "data",
"records": -1,
"size": "524288",
"source": "northwind-datasets",
"sourceId": null,
"params": {},
"dataUpdatedAt": "2026-01-15T16:20:00.000Z",
"dataExpiresAt": null,
"ttl": null,
"append": false,
"shared": false,
"timestampField": null,
"lastDurationMillis": "1500",
"windowSize": 500,
"settings": {},
"flow": [],
"esId": null,
"lastQueriedAt": "2026-01-15T16:20:00.000Z",
"esWorkers": 1,
"datasetFieldReportAccess": false,
"parentId": null,
"templateProcessorId": null,
"deleteDate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"datasourceId": null,
"reportId": "00000000-0000-4000-8000-000000000002",
"queryId": "00000000-0000-4000-8000-000000000004",
"editingId": null,
"folderId": null,
"query": {
"naturalId": "00000000-0000-4000-8000-000000000004",
"fields": null,
"permissions": {
"assignTags": true,
"changeOwner": true,
"copy": true,
"delete": true,
"edit": true,
"rename": true,
"run": true,
"share": true,
"write": true
},
"id": "00000000-0000-4000-8000-000000000004",
"tenant": "acme",
"ownerId": "admin",
"slug": null,
"name": null,
"description": null,
"shared": false,
"embedded": true,
"source": null,
"sourceId": null,
"settings": {},
"inputs": null,
"language": "informer",
"flow": [
{
"calculatedField": {
"alias": "salesperson",
"label": "Salesperson",
"script": "FirstName + ' ' + LastName"
}
},
{
"calculatedField": {
"alias": "orderAmount",
"label": "Order Amount",
"script": "UnitPrice * Quantity"
}
},
{
"calculatedField": {
"alias": "shipState",
"label": "Ship State",
"script": "ShipCountry === \"USA\" ? ShipRegion : null"
}
}
],
"payload": {
"fields": [
{
"id": "OrderDate",
"path": "OrderDate",
"type": "field",
"label": "Order Date",
"fieldId": "OrderDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date_tz",
"distinct": false,
"position": 0,
"aggregate": null
},
{
"id": "RequiredDate",
"path": "RequiredDate",
"type": "field",
"label": "Required Date",
"fieldId": "RequiredDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date_tz",
"distinct": false,
"position": 1,
"aggregate": null
},
{
"id": "ShipAddress",
"path": "ShipAddress",
"type": "field",
"label": "Ship Address",
"fieldId": "ShipAddress",
"grouped": false,
"linkRef": null,
"rawType": "character varying",
"dataType": "keyword_text",
"distinct": false,
"position": 2,
"aggregate": null
},
"… 10 more items (13 total) — omitted from docs"
],
"source": {
"id": "00000000-0000-4000-8000-000000000005:public+orders",
"schemaId": "public",
"mappingId": "orders"
},
"groupBy": [],
"linkRefs": [
{
"id": "employees",
"linkId": "00000000-0000-4000-8000-000000000005:public+orders:employees",
"details": {
"id": "00000000-0000-4000-8000-000000000005:public+orders:employees",
"defn": [
{
"toField": "EmployeeID",
"operator": "=",
"toSchema": "public",
"fromField": "EmployeeID",
"toMapping": "employees",
"fromSchema": "public",
"fromMapping": "orders"
}
],
"toId": "00000000-0000-4000-8000-000000000005:public+employees",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000005:public+orders",
"linkId": "employees"
}
},
{
"id": "order-details",
"linkId": "00000000-0000-4000-8000-000000000005:public+orders:order-details",
"details": {
"id": "00000000-0000-4000-8000-000000000005:public+orders:order-details",
"defn": [
{
"toField": "OrderID",
"operator": "=",
"toSchema": "public",
"fromField": "OrderID",
"toMapping": "order_details",
"fromSchema": "public",
"fromMapping": "orders"
}
],
"toId": "00000000-0000-4000-8000-000000000005:public+order_details",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000005:public+orders",
"linkId": "order-details"
}
},
{
"id": "order-details/products",
"linkId": "00000000-0000-4000-8000-000000000005:public+order_details:products",
"details": {
"id": "00000000-0000-4000-8000-000000000005:public+order_details:products",
"defn": [
{
"toField": "ProductID",
"operator": "=",
"toSchema": "public",
"fromField": "ProductID",
"toMapping": "products",
"fromSchema": "public",
"fromMapping": "order_details"
}
],
"toId": "00000000-0000-4000-8000-000000000005:public+products",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000005:public+order_details",
"linkId": "products"
}
}
]
},
"defnUpdatedAt": null,
"limit": -1,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"datasourceId": "00000000-0000-4000-8000-000000000005",
"editingId": null,
"folderId": null,
"datasource": {
"defaultLinkType": "sql",
"aiSystemMessage": "This is a PostgresSQL database. Identifiers are case-sensitive by default. \n Always surround all column names, table names, and schema names in double-quotes (\"). \n For example:\n SELECT \"OrderID\", \"ShipCountry\" FROM \"public\".\"orders\" WHERE \"ShipCity\" = 'Raleigh';\n ---",
"family": "sql",
"languages": [
"informer",
"sql",
"distinctValue",
"… 2 more items (5 total) — omitted from docs"
],
"naturalId": "admin:northwind",
"image": "/opt/informer/packages/informer-server/modules/sql/images/postgres.svg",
"compatibility": [],
"permissions": {
"assignTags": true,
"edit": true,
"delete": true,
"share": true,
"write": true,
"changeOwner": true,
"ping": true,
"scan": true,
"downloadSchema": true,
"importData": true,
"importSchema": true,
"rename": true,
"editConnection": true,
"createLink": true,
"setWrite": true,
"createSuite": true,
"createFieldExpression": true,
"createMapping": false,
"bundle": true,
"query": true
},
"id": "00000000-0000-4000-8000-000000000005",
"tenant": "acme",
"ownerId": "admin",
"slug": "northwind",
"name": "Northwind",
"description": null,
"embedded": false,
"type": "postgres",
"connection": {
"host": "localhost",
"pool": {
"max": 5,
"min": 0,
"idle": 10000,
"acquire": 10000
},
"port": 5432,
"user": "northwinduser",
"database": "northwind",
"password": "encrypted:iv:0000000000000000",
"idleTimeoutMillis": 7
},
"scannedAt": "2026-01-15T16:20:00.000Z",
"schemaUpdatedAt": "2026-01-15T16:20:00.000Z",
"rescanRequired": false,
"shared": false,
"schemas": [
"public"
],
"source": null,
"sourceId": null,
"settings": {
"multiSchema": false,
"useFakeData": false,
"remoteQueryBatchSize": {
"multiKey": 500,
"singleKey": 500
},
"usePreparedStatements": false
},
"data": null,
"appId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"folderId": null,
"fileId": null,
"shares": []
}
},
"_embedded": {
"inf:field": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/fields/OrderDate"
}
},
"label": "Order Date",
"source": "Indexed",
"id": "00000000-0000-4000-8000-000000000006",
"tenant": "acme",
"name": "OrderDate",
"datasetId": "00000000-0000-4000-8000-000000000003",
"position": 0,
"dataType": "date",
"script": null,
"typeMapping": {
"type": "date"
},
"formatOptions": null,
"lockFieldId": true,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"fieldId": null,
"field": null
},
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/fields/FirstName"
}
},
"label": "Employee First Name",
"source": "Indexed",
"id": "00000000-0000-4000-8000-000000000007",
"tenant": "acme",
"name": "FirstName",
"datasetId": "00000000-0000-4000-8000-000000000003",
"position": 8,
"dataType": "keyword_text",
"script": null,
"typeMapping": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"fielddata": true
}
}
},
"formatOptions": null,
"lockFieldId": true,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"fieldId": null,
"field": null
},
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/fields/LastName"
}
},
"label": "Employee Last Name",
"source": "Indexed",
"id": "00000000-0000-4000-8000-000000000008",
"tenant": "acme",
"name": "LastName",
"datasetId": "00000000-0000-4000-8000-000000000003",
"position": 9,
"dataType": "keyword_text",
"script": null,
"typeMapping": {
"type": "keyword",
"fields": {
"text": {
"type": "text",
"fielddata": true
}
}
},
"formatOptions": null,
"lockFieldId": true,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"fieldId": null,
"field": null
},
"… 13 more items (16 total) — omitted from docs"
],
"inf:filter": []
}
}
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

PUT /api/reports/{id}/dataset-refs/{dataset}​

Update a dataset reference configuration.

Authentication: Required

Permissions: report:write

Path Parameters:

ParameterTypeDescription
idstringReport ID
datasetstringDataset alias

Request Body:

{
"alias": "orders",
"label": "Updated Orders Label",
"filter": {
"criteria": [
{
"field": "status",
"op": "eq",
"value": "completed"
}
]
},
"chips": [],
"snapshots": {
"includeLatest": false,
"type": "n",
"n": 10,
"snapshotDatasets": ["snapshot-3", "snapshot-4"]
}
}

Response:

Returns the updated dataset reference.

Update a dataset referencePUT /api/reports/admin:sales-overview/dataset-refs/orders
Edit the binding’s label, alias, filter, chips, or snapshot settings. Renaming the alias propagates into the report defn.
Request body
{
"label": "Orders (FY24)",
"filter": {},
"chips": []
}
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/reports/admin%3Asales-overview/dataset-refs/orders"
}
},
"id": "00000000-0000-4000-8000-000000000001",
"filter": {},
"chips": [],
"alias": "orders",
"label": "Orders (FY24)",
"tenant": "acme",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"reportId": "00000000-0000-4000-8000-000000000002",
"datasetId": "00000000-0000-4000-8000-000000000003",
"snapshots": null
}
Captured from the API examples test suite; ids and timestamps are normalized.

Notes:

  • Changing the alias will update all references in the report definition
  • Snapshot dataset associations are replaced (not merged)
  • Invalid snapshot dataset IDs are ignored

DELETE /api/reports/{id}/dataset-refs/{dataset}​

Remove a dataset reference from a report.

Authentication: Required

Permissions: report:write

Path Parameters:

ParameterTypeDescription
idstringReport ID
datasetstringDataset alias

Response:

204 No Content on success.

Behavior:

  • Removes the dataset reference
  • Removes all references to the alias from the report definition
  • Deletes associated snapshot settings
  • Does not delete the actual dataset (only the report's reference to it)

Snapshot Settings​

Snapshot settings allow reports to include historical versions of datasets alongside current data.

Configuration Options​

Include Latest:

{
"includeLatest": true
}

Include the current dataset data along with snapshots.

Last N Snapshots:

{
"type": "n",
"n": 5,
"includeLatest": true
}

Include the 5 most recent snapshots plus current data.

Specific Snapshots:

{
"snapshotDatasets": [
"orders-2024-jan",
"orders-2024-feb",
"orders-2024-mar"
],
"includeLatest": false
}

Include only specific snapshot datasets.

Mixed Approach:

{
"type": "n",
"n": 3,
"includeLatest": true,
"snapshotDatasets": ["orders-2023-dec"]
}

Include last 3 snapshots, current data, and a specific older snapshot.

Record Counts​

The GET endpoint returns multiple count fields:

  • count: Records after applying report-level filters and snapshot inclusion
  • countWithoutSnapshots: Records in the base dataset only (excluding snapshots)
  • overallCount: Total records including all configured snapshots

These counts help understand the data volume and snapshot impact.