Skip to main content

Drafts & Versioning

Definition changes (query, flow, fields) go through a draft: a working copy of the Dataset whose editingId points back at the original. You edit and test the draft with the regular Dataset routes, then commit it onto the original. Drafts are per user: each editor gets their own.

POST /api/datasets/{id}/_edit

Start a draft, or resume yours if you already have one.

Authentication: Required

Permission: dataset:write (Data Wizard or above on the owning team)

Response: the draft Dataset. Its editingId carries the original's id, and its routes (refresh, fields, data, …) work like any Dataset's.

Start (or resume) a draftPOST /api/datasets/admin:northwind-orders/_edit
Answers your existing draft if you already have one, otherwise copies the Dataset into a draft (editingId points back at the original).
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit"
},
"inf:draft": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/draft"
},
"inf:run": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_run"
},
"inf:benchmark": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_benchmark"
},
"inf:refresh": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_refresh"
},
"inf:data": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/data{?start,limit,q,sort,show,report}",
"templated": true
},
"inf:user-settings": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/settings"
},
"inf:query": {
"href": "https://informer.example.com/api/queries/00000000-0000-4000-8000-000000000001"
},
"inf:owner": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/owner"
},
"inf:search": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_search{?query,_source,sort,from,size,searchType,aggs,report,aggregations,alias,snapshots}",
"templated": true
},
"inf:mapping": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/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/admin%3Anorthwind-orders/_edit/fields"
},
"inf:count": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/count"
},
"inf:comments": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/comments"
},
"inf:visuals": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/visuals"
},
"inf:visual-templates": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/visual-templates"
},
"inf:dataset-tags": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/tags"
},
"inf:dataset-tag": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/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/admin%3Anorthwind-orders/_edit/filters"
},
"inf:dataset-shares": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/shares"
},
"inf:flow": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/flow"
},
"inf:group": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/group"
},
"inf:group-rows": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/group-rows"
},
"inf:dataset-share": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/shares/{principalId}",
"templated": true
},
"inf:import": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/_import"
},
"inf:exceptions": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/_exceptions"
},
"inf:search-aggregates": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/_search-aggregates"
},
"inf:exporters": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/exporters"
},
"inf:favorite": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/favorite"
},
"inf:export-bundle": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_edit/_export"
}
},
"naturalId": "admin:northwind-orders-draft",
"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-draft",
"name": "Northwind Orders (Draft)",
"description": null,
"embedded": false,
"esIndex": null,
"esIndexName": "northwind-orders-draft",
"esType": "data",
"records": null,
"size": null,
"source": null,
"sourceId": null,
"params": {},
"dataUpdatedAt": null,
"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": null,
"queryId": "00000000-0000-4000-8000-000000000001",
"editingId": "00000000-0000-4000-8000-000000000003",
"folderId": null,
"query": {
"naturalId": "00000000-0000-4000-8000-000000000001",
"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-000000000001",
"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",
"data": {
"isFk": false,
"isPk": false,
"fieldId": "OrderDate",
"rawType": "date",
"udtName": "date",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 4,
"arrayElementType": null
},
"isFk": false,
"isPk": false,
"name": "Order Date",
"path": "OrderDate",
"type": "field",
"label": "Order Date",
"codeId": null,
"hidden": false,
"source": "pg",
"tenant": "acme",
"fieldId": "OrderDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date",
"distinct": false,
"pkSeqNum": null,
"position": 0,
"schemaId": "public",
"sourceId": null,
"aggregate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"expression": null,
"fieldSetId": null,
"restricted": false,
"description": null,
"mappingPath": "00000000-0000-4000-8000-000000000004:public+orders",
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004",
"formatOptions": {},
"ordinalPosition": "4"
},
{
"id": "RequiredDate",
"data": {
"isFk": false,
"isPk": false,
"fieldId": "RequiredDate",
"rawType": "date",
"udtName": "date",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 5,
"arrayElementType": null
},
"isFk": false,
"isPk": false,
"name": "Required Date",
"path": "RequiredDate",
"type": "field",
"label": "Required Date",
"codeId": null,
"hidden": false,
"source": "pg",
"tenant": "acme",
"fieldId": "RequiredDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date",
"distinct": false,
"pkSeqNum": null,
"position": 1,
"schemaId": "public",
"sourceId": null,
"aggregate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"expression": null,
"fieldSetId": null,
"restricted": false,
"description": null,
"mappingPath": "00000000-0000-4000-8000-000000000004:public+orders",
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004",
"formatOptions": {},
"ordinalPosition": "5"
},
{
"id": "ShipAddress",
"data": {
"isFk": false,
"isPk": false,
"fieldId": "ShipAddress",
"rawType": "character varying",
"udtName": "varchar",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 10,
"arrayElementType": null
},
"isFk": false,
"isPk": false,
"name": "Ship Address",
"path": "ShipAddress",
"type": "field",
"label": "Ship Address",
"codeId": null,
"hidden": false,
"source": "pg",
"tenant": "acme",
"fieldId": "ShipAddress",
"grouped": false,
"linkRef": null,
"rawType": "character varying",
"dataType": "keyword_text",
"distinct": false,
"pkSeqNum": null,
"position": 2,
"schemaId": "public",
"sourceId": null,
"aggregate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"expression": null,
"fieldSetId": null,
"restricted": false,
"description": null,
"mappingPath": "00000000-0000-4000-8000-000000000004:public+orders",
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004",
"formatOptions": {},
"ordinalPosition": "10"
},
"… 10 more items (13 total) — omitted from docs"
],
"source": {
"id": "00000000-0000-4000-8000-000000000004:public+orders",
"data": {
"size": "524288",
"records": "830",
"schemaId": "public",
"mappingId": "orders"
},
"name": "Orders",
"size": "524288",
"hidden": false,
"source": "pg",
"tenant": "acme",
"records": 830,
"schemaId": "public",
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"description": null,
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004"
},
"groupBy": [],
"distinct": false,
"linkRefs": [
{
"id": "employees",
"linkId": "00000000-0000-4000-8000-000000000004:public+orders:employees",
"details": {
"id": "00000000-0000-4000-8000-000000000004:public+orders:employees",
"defn": [
{
"toData": {
"isFk": false,
"isPk": true,
"fieldId": "EmployeeID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "employees",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"toField": "EmployeeID",
"fromData": {
"isFk": false,
"isPk": false,
"fieldId": "EmployeeID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 3,
"arrayElementType": null
},
"operator": "=",
"toSchema": "public",
"fromField": "EmployeeID",
"toMapping": "employees",
"fromSchema": "public",
"fromMapping": "orders",
"toExpression": null,
"fromExpression": null
}
],
"name": "Employee",
"toId": "00000000-0000-4000-8000-000000000004:public+employees",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+orders",
"linkId": "employees",
"source": "northwind-schema",
"tenant": "acme",
"_changes": null,
"embedded": false,
"parentId": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"permissions": {
"edit": true,
"write": true,
"delete": true
},
"embeddedPrefix": null
}
},
{
"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": [
{
"toData": {
"isFk": false,
"isPk": true,
"fieldId": "OrderID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "order_details",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"toField": "OrderID",
"fromData": {
"isFk": false,
"isPk": true,
"fieldId": "OrderID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"operator": "=",
"toSchema": "public",
"fromField": "OrderID",
"toMapping": "order_details",
"fromSchema": "public",
"fromMapping": "orders",
"toExpression": null,
"fromExpression": null
}
],
"name": "Order Detail",
"toId": "00000000-0000-4000-8000-000000000004:public+order_details",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+orders",
"linkId": "order-details",
"source": "northwind-schema",
"tenant": "acme",
"_changes": null,
"embedded": false,
"parentId": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"permissions": {
"edit": true,
"write": true,
"delete": true
},
"embeddedPrefix": null
}
},
{
"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": [
{
"toData": {
"isFk": false,
"isPk": true,
"fieldId": "ProductID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "products",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"toField": "ProductID",
"fromData": {
"isFk": false,
"isPk": true,
"fieldId": "ProductID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 2,
"schemaId": "public",
"mappingId": "order_details",
"udtSchema": "pg_catalog",
"ordinalPosition": 2,
"arrayElementType": null
},
"operator": "=",
"toSchema": "public",
"fromField": "ProductID",
"toMapping": "products",
"fromSchema": "public",
"fromMapping": "order_details",
"toExpression": null,
"fromExpression": null
}
],
"name": "Product",
"toId": "00000000-0000-4000-8000-000000000004:public+products",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+order_details",
"linkId": "products",
"source": "northwind-schema",
"tenant": "acme",
"_changes": null,
"embedded": false,
"parentId": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"permissions": {
"edit": true,
"write": true,
"delete": true
},
"embeddedPrefix": null
}
}
]
},
"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": "00000000-0000-4000-8000-000000000005",
"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": []
}
}
}
Captured from the API examples test suite; ids and timestamps are normalized.

GET /api/datasets/{id}/draft

Get your draft of the Dataset. Answers 404 when you have none.

Authentication: Required

Get the Dataset's draftGET /api/datasets/admin:northwind-orders/draft
Answers your draft with inf:original and inf:commit-draft links, plus hasUserSettings (whether committing would clear saved custom views). 404 when you have no draft.
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001"
},
"inf:draft": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/draft"
},
"inf:run": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_run"
},
"inf:benchmark": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_benchmark"
},
"inf:refresh": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_refresh"
},
"inf:data": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/data{?start,limit,q,sort,show,report}",
"templated": true
},
"inf:user-settings": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/settings"
},
"inf:query": {
"href": "https://informer.example.com/api/queries/00000000-0000-4000-8000-000000000002"
},
"inf:owner": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/owner"
},
"inf:search": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders-draft/_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-000000000001/mapping"
},
"inf:job-templates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/job-templates"
},
"inf:fields": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/fields"
},
"inf:count": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/count"
},
"inf:comments": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/comments"
},
"inf:visuals": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/visuals"
},
"inf:visual-templates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/visual-templates"
},
"inf:dataset-tags": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/tags"
},
"inf:dataset-tag": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/tags/{tagId}",
"templated": true
},
"inf:discover": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/discover"
},
"inf:filters": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/filters"
},
"inf:dataset-shares": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/shares"
},
"inf:flow": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/flow"
},
"inf:group": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/group"
},
"inf:group-rows": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/group-rows"
},
"inf:dataset-share": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/shares/{principalId}",
"templated": true
},
"inf:import": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/_import"
},
"inf:exceptions": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/_exceptions"
},
"inf:search-aggregates": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/_search-aggregates"
},
"inf:exporters": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/exporters"
},
"inf:favorite": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/favorite"
},
"inf:export-bundle": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000001/_export"
},
"inf:original": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003"
},
"inf:commit-draft": {
"href": "https://informer.example.com/api/datasets/00000000-0000-4000-8000-000000000003/draft/_commit"
}
},
"naturalId": "admin:northwind-orders-draft",
"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-000000000001",
"tenant": "acme",
"ownerId": "admin",
"slug": "northwind-orders-draft",
"name": "Northwind Orders (Draft)",
"description": null,
"embedded": false,
"esIndex": null,
"esIndexName": "northwind-orders-draft",
"esType": "data",
"records": null,
"size": null,
"source": null,
"sourceId": null,
"params": {},
"dataUpdatedAt": null,
"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": null,
"queryId": "00000000-0000-4000-8000-000000000002",
"editingId": "00000000-0000-4000-8000-000000000003",
"folderId": null,
"datasource": null,
"query": {
"naturalId": "00000000-0000-4000-8000-000000000002",
"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-000000000002",
"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",
"data": {
"isFk": false,
"isPk": false,
"fieldId": "OrderDate",
"rawType": "date",
"udtName": "date",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 4,
"arrayElementType": null
},
"isFk": false,
"isPk": false,
"name": "Order Date",
"path": "OrderDate",
"type": "field",
"label": "Order Date",
"codeId": null,
"hidden": false,
"source": "pg",
"tenant": "acme",
"fieldId": "OrderDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date",
"distinct": false,
"pkSeqNum": null,
"position": 0,
"schemaId": "public",
"sourceId": null,
"aggregate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"expression": null,
"fieldSetId": null,
"restricted": false,
"description": null,
"mappingPath": "00000000-0000-4000-8000-000000000004:public+orders",
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004",
"formatOptions": {},
"ordinalPosition": "4"
},
{
"id": "RequiredDate",
"data": {
"isFk": false,
"isPk": false,
"fieldId": "RequiredDate",
"rawType": "date",
"udtName": "date",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 5,
"arrayElementType": null
},
"isFk": false,
"isPk": false,
"name": "Required Date",
"path": "RequiredDate",
"type": "field",
"label": "Required Date",
"codeId": null,
"hidden": false,
"source": "pg",
"tenant": "acme",
"fieldId": "RequiredDate",
"grouped": false,
"linkRef": null,
"rawType": "date",
"dataType": "date",
"distinct": false,
"pkSeqNum": null,
"position": 1,
"schemaId": "public",
"sourceId": null,
"aggregate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"expression": null,
"fieldSetId": null,
"restricted": false,
"description": null,
"mappingPath": "00000000-0000-4000-8000-000000000004:public+orders",
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004",
"formatOptions": {},
"ordinalPosition": "5"
},
{
"id": "ShipAddress",
"data": {
"isFk": false,
"isPk": false,
"fieldId": "ShipAddress",
"rawType": "character varying",
"udtName": "varchar",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 10,
"arrayElementType": null
},
"isFk": false,
"isPk": false,
"name": "Ship Address",
"path": "ShipAddress",
"type": "field",
"label": "Ship Address",
"codeId": null,
"hidden": false,
"source": "pg",
"tenant": "acme",
"fieldId": "ShipAddress",
"grouped": false,
"linkRef": null,
"rawType": "character varying",
"dataType": "keyword_text",
"distinct": false,
"pkSeqNum": null,
"position": 2,
"schemaId": "public",
"sourceId": null,
"aggregate": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"expression": null,
"fieldSetId": null,
"restricted": false,
"description": null,
"mappingPath": "00000000-0000-4000-8000-000000000004:public+orders",
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004",
"formatOptions": {},
"ordinalPosition": "10"
},
"… 10 more items (13 total) — omitted from docs"
],
"source": {
"id": "00000000-0000-4000-8000-000000000004:public+orders",
"data": {
"size": "524288",
"records": "830",
"schemaId": "public",
"mappingId": "orders"
},
"name": "Orders",
"size": "524288",
"hidden": false,
"source": "pg",
"tenant": "acme",
"records": 830,
"schemaId": "public",
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"mappingId": "orders",
"updatedAt": "2026-01-15T16:20:00.000Z",
"description": null,
"permissions": {},
"datasourceId": "00000000-0000-4000-8000-000000000004"
},
"groupBy": [],
"distinct": false,
"linkRefs": [
{
"id": "employees",
"linkId": "00000000-0000-4000-8000-000000000004:public+orders:employees",
"details": {
"id": "00000000-0000-4000-8000-000000000004:public+orders:employees",
"defn": [
{
"toData": {
"isFk": false,
"isPk": true,
"fieldId": "EmployeeID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "employees",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"toField": "EmployeeID",
"fromData": {
"isFk": false,
"isPk": false,
"fieldId": "EmployeeID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": null,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 3,
"arrayElementType": null
},
"operator": "=",
"toSchema": "public",
"fromField": "EmployeeID",
"toMapping": "employees",
"fromSchema": "public",
"fromMapping": "orders",
"toExpression": null,
"fromExpression": null
}
],
"name": "Employee",
"toId": "00000000-0000-4000-8000-000000000004:public+employees",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+orders",
"linkId": "employees",
"source": "northwind-schema",
"tenant": "acme",
"_changes": null,
"embedded": false,
"parentId": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"permissions": {
"edit": true,
"write": true,
"delete": true
},
"embeddedPrefix": null
}
},
{
"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": [
{
"toData": {
"isFk": false,
"isPk": true,
"fieldId": "OrderID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "order_details",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"toField": "OrderID",
"fromData": {
"isFk": false,
"isPk": true,
"fieldId": "OrderID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "orders",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"operator": "=",
"toSchema": "public",
"fromField": "OrderID",
"toMapping": "order_details",
"fromSchema": "public",
"fromMapping": "orders",
"toExpression": null,
"fromExpression": null
}
],
"name": "Order Detail",
"toId": "00000000-0000-4000-8000-000000000004:public+order_details",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+orders",
"linkId": "order-details",
"source": "northwind-schema",
"tenant": "acme",
"_changes": null,
"embedded": false,
"parentId": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"permissions": {
"edit": true,
"write": true,
"delete": true
},
"embeddedPrefix": null
}
},
{
"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": [
{
"toData": {
"isFk": false,
"isPk": true,
"fieldId": "ProductID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 1,
"schemaId": "public",
"mappingId": "products",
"udtSchema": "pg_catalog",
"ordinalPosition": 1,
"arrayElementType": null
},
"toField": "ProductID",
"fromData": {
"isFk": false,
"isPk": true,
"fieldId": "ProductID",
"rawType": "smallint",
"udtName": "int2",
"pkSeqNum": 2,
"schemaId": "public",
"mappingId": "order_details",
"udtSchema": "pg_catalog",
"ordinalPosition": 2,
"arrayElementType": null
},
"operator": "=",
"toSchema": "public",
"fromField": "ProductID",
"toMapping": "products",
"fromSchema": "public",
"fromMapping": "order_details",
"toExpression": null,
"fromExpression": null
}
],
"name": "Product",
"toId": "00000000-0000-4000-8000-000000000004:public+products",
"type": "sql",
"fromId": "00000000-0000-4000-8000-000000000004:public+order_details",
"linkId": "products",
"source": "northwind-schema",
"tenant": "acme",
"_changes": null,
"embedded": false,
"parentId": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"permissions": {
"edit": true,
"write": true,
"delete": true
},
"embeddedPrefix": null
}
}
]
},
"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": "00000000-0000-4000-8000-000000000005",
"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": []
}
},
"hasUserSettings": true
}
Captured from the API examples test suite; ids and timestamps are normalized.

Extras over a plain Dataset response:

  • hasUserSettings: whether any user has saved a custom view that a commit would clear
  • inf:original and inf:commit-draft links
  • A Location header pointing at the draft's own Dataset URL

PUT /api/datasets/{id}/draft

Legacy variant of _edit that creates a draft seeded with flow, queryId, and settings overrides. Prefer _edit plus regular updates on the draft.

Authentication: Required

Permission: dataset:write (Data Wizard or above on the owning team)


DELETE /api/datasets/{id}/draft

Discard your draft. The original is untouched.

Authentication: Required

Discard the draftDELETE /api/datasets/admin:northwind-orders/draft
Responds 200 with an empty body; the original is untouched.
Response · 200 · no body
Captured from the API examples test suite; ids and timestamps are normalized.

Responds 200 with an empty body.


POST /api/datasets/{id}/draft/_commit

Commit your draft: applies the draft's definition to the original, deletes the draft, and notifies followers via the activity feed.

Authentication: Required

Request Body:

FieldTypeDefaultDescription
clearAllUserSettingsbooleantrueAlso delete every user's saved custom view of the Dataset (their grids may reference fields the new definition no longer has)

Response: the updated original Dataset.

Commit the draftPOST /api/datasets/admin:northwind-orders/draft/_commit
Applies the draft's definition to the original and deletes the draft. clearAllUserSettings (default true) also resets every user's saved view of the Dataset.
Request body
{}
Response · 200
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit"
},
"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-000000000001"
},
"inf:owner": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/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/admin%3Anorthwind-orders/draft/_commit/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/admin%3Anorthwind-orders/draft/_commit/fields"
},
"inf:count": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/count"
},
"inf:comments": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/comments"
},
"inf:visuals": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/visuals"
},
"inf:visual-templates": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/visual-templates"
},
"inf:dataset-tags": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/tags"
},
"inf:dataset-tag": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/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/admin%3Anorthwind-orders/draft/_commit/filters"
},
"inf:dataset-shares": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/shares"
},
"inf:flow": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/flow"
},
"inf:group": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/group"
},
"inf:group-rows": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/group-rows"
},
"inf:dataset-share": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/shares/{principalId}",
"templated": true
},
"inf:import": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/_import"
},
"inf:exceptions": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/_exceptions"
},
"inf:search-aggregates": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/_search-aggregates"
},
"inf:exporters": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/exporters"
},
"inf:favorite": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/favorite"
},
"inf:export-bundle": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/draft/_commit/_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": "docsex.acme.northwind-orders.1700000000000",
"esIndexName": "northwind-orders",
"esType": "data",
"records": 2155,
"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": null,
"queryId": "00000000-0000-4000-8000-000000000001",
"editingId": null,
"folderId": null
}
Captured from the API examples test suite; ids and timestamps are normalized.