Change stores
The Change Stores API enables you to access changes that users make to editable columns in write table visualizations. Changes are temporarily stored (up to 90 days) and can be retrieved, exported to external systems, or integrated into automated workflows.
Endpoints
Returns a list of change-stores, accessible to the user.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Header Parameters
- Authorization stringRequired
The JWT used for authentication. Send the JWT in the AuthRequest header using the Bearer schema.
Query Parameters
- page string
Used for cursor-based pagination.
- limit integer
Defines the size of each paged result (maximum 100).
- filter string
A SCIM filter expression used to filter the result. The filter parameter allows complex logical expressions using comparison operators and grouping.
- Supported attributes:
storeName,storeId,referenceId,usedBy.appId,primaryKey,isUsedByEmpty - Supported operators:
eq,ne,co,sw,ew,pr,gt,ge,lt,le - Logical operators:
and,or,not
- Supported attributes:
- sort string
Sort results by a field, with optional + (asc) or - (desc) prefix
- spaceId stringRequired
The space ID to filter change stores by. This parameter is required. For personal spaces, use "personal". For shared spaces, use the actual space ID, e.g. "690b584c5a8011de9079828e".
Responses
200
Returns a list of change stores.
- application/json object
application/json properties
- totalCount integer
- currentPageCount integer
- links object
links properties
- next object
next properties
- href string
-
- prev object
prev properties
- href string
-
- self object
self properties
- href string
-
-
- data array of objects
data properties
- usedBy array of objects
List of chart/app references.
usedBy properties
- appId stringRequired
The id of the app.
- chartId stringRequired
The id of the chart.
-
- spaceId string
The space id where the change store is located.
- storeId string
The id of the change store.
- tenantId string
The tenant id the change store belongs to.
- createdAt string
The time when the change store was created.
- createdBy string
The id of the user who created the change store.
- storeName string
The name of the change store.
- updatedAt string
The time when the change store was last updated.
- primaryKey array of strings
The list of primary key columns for the change store.
- referenceId string
The reference id used to identify related editable-columns or change stores.
- publishRefId string
The publish reference id used to map stores across published apps/spaces.
-
-
400
Bad Request
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
401
Unauthorized
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
403
Forbidden
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
404
Not found
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
500
Internal Server Error
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({ hostConfig: { host: 'https://{tenant}.{region}.qlikcloud.com', apiKey: '<access-token>', },})
await qlik.analytics.changeStores.getChangeStores( { spaceId: 'personal' },)qlik analytics change-store ls \ --spaceId 'personal'curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/change-stores" \-H "Authorization: Bearer <access_token>"Example Response
{ "data": [ { "usedBy": [ { "appId": "af604296-14f6-48c2-8bac-12ce49ba83cc", "chartId": "chartId" } ], "spaceId": "456", "storeId": "123", "tenantId": "tenant789", "storeName": "My Change Store", "primaryKey": [ "product", "region" ], "publishRefId": "6835b0135cf7147c01979e5d" }, { "usedBy": [ { "appId": "af604296-14f6-48c2-8bac-12ce49ba83cc", "chartId": "chartId2" } ], "spaceId": "457", "storeId": "124", "tenantId": "tenant790", "storeName": "Another Change Store", "primaryKey": [ "category", "region" ], "publishRefId": "6835b0135cf7147c01979e5d" } ], "links": { "next": { "href": "https://example.org/api/analytics/change-stores?page=2" }, "prev": { "href": "https://example.org/api/analytics/change-stores?page=1" }, "self": { "href": "https://example.org/api/analytics/change-stores?page=1" } }, "totalCount": 10, "currentPageCount": 2}Returns detailed information about a specific change store, such as its configuration and associated charts.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Header Parameters
- Authorization stringRequired
The JWT used for authentication. Send the JWT in the AuthRequest header using the Bearer schema.
Path Parameters
- storeId stringRequired
The id of the change store.
Responses
200
Returns a specific change store.
- application/json object
application/json properties
- data object
data properties
- usedBy array of objects
List of chart/app references.
usedBy properties
- appId stringRequired
The id of the app.
- chartId stringRequired
The id of the chart.
-
- spaceId string
The space id where the change store is located.
- storeId string
The id of the change store.
- tenantId string
The tenant id the change store belongs to.
- createdAt string
The time when the change store was created.
- createdBy string
The id of the user who created the change store.
- storeName string
The name of the change store.
- updatedAt string
The time when the change store was last updated.
- primaryKey array of strings
The list of primary key columns for the change store.
- referenceId string
The reference id used to identify related editable-columns or change stores.
- publishRefId string
The publish reference id used to map stores across published apps/spaces.
-
-
400
Bad Request
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
401
Unauthorized
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
403
Forbidden
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
404
Not found
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
500
Internal Server Error
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({ hostConfig: { host: 'https://{tenant}.{region}.qlikcloud.com', apiKey: '<access-token>', },})
await qlik.analytics.changeStores.getChangeStore( '507f1f77bcf86cd799439011',)qlik analytics change-store get '507f1f77bcf86cd799439011'curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/change-stores/{storeId}" \-H "Authorization: Bearer <access_token>"Example Response
{ "data": { "usedBy": [ { "appId": "af604296-14f6-48c2-8bac-12ce49ba83cc", "chartId": "chartId" } ], "spaceId": "456", "storeId": "123", "tenantId": "tenant789", "storeName": "My Change Store", "primaryKey": [ "product", "region" ], "publishRefId": "6835b0135cf7147c01979e5d" }}Returns a list of changes within the specified change-store.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Header Parameters
- Authorization stringRequired
The JWT used for authentication. Send the JWT in the AuthRequest header using the Bearer schema.
Query Parameters
- page string
Used for cursor-based pagination.
- limit integer
Defines the size of each paged result (maximum 100).
- filter string
A SCIM filter expression used to filter the result. The filter parameter allows complex logical expressions using comparison operators and grouping.
- Supported attributes:
committed,cellKey.columnId,columnId,createdBy,createdAt,updatedAt - Supported operators:
eq,ne,co,sw,ew,pr,gt,ge,lt,le - Logical operators:
and,or,not
- Supported attributes:
- sort string
Sort results by a field, with optional + (asc) or - (desc) prefix
Path Parameters
- storeId stringRequired
The id of the change store.
Responses
200
Changes response.
- application/json object
application/json properties
- totalCount integer
- currentPageCount integer
- links object
links properties
- next object
next properties
- href string
-
- prev object
prev properties
- href string
-
- self object
self properties
- href string
-
-
- data array of objects
data properties
- cellKey object
cellKey properties
- rowKey objectRequired
A map of row keys.
additional optional properties
- string string
-
- columnId stringRequired
The id of the column.
-
- changes array of objects
changes properties
- tenantId string
The tenant id.
- cellValue string
The value of the cell.
- committed boolean
Whether the change has been committed.
- createdAt string
The time when a user starts typing in a cell and the row becomes locked.
- createdBy string
The id of the user who created the change.
- updatedAt string
The time when an update to the change has been done. Examples of when this value is updated:
- User starts typing in a cell, locking the row.
- User edits an unsaved change.
- User saves the change.
-
- columnName string
The name of the column.
-
-
400
Bad Request
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
401
Unauthorized
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
403
Forbidden
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
404
Not found
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
500
Internal Server Error
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({ hostConfig: { host: 'https://{tenant}.{region}.qlikcloud.com', apiKey: '<access-token>', },})
await qlik.analytics.changeStores.getChangeStoreChanges( '507f1f77bcf86cd799439011', {},)qlik analytics change-store change ls '507f1f77bcf86cd799439011'curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/change-stores/{storeId}/changes" \-H "Authorization: Bearer <access_token>"Example Response
{ "totalCount": 10, "currentPageCount": 2, "links": { "next": { "href": "https://example.org/api/analytics/change-stores?page=<next-cursor>" }, "prev": { "href": "https://example.org/api/analytics/change-stores?page=<previous-cursor>" }, "self": { "href": "https://example.org/api/analytics/change-stores?page=<self-cursor>" } }, "data": [ { "cellKey": { "rowKey": { "product": "table" }, "columnId": "690b5975fddd52c0fba8dd10" }, "changes": [ { "meta": { "tenantId": "tenant123", "createdAt": "2023-01-01T12:00:00Z", "createdBy": "user123" }, "committed": true, "columnValue": "100" } ], "columnName": "price" } ]}Returns changes in tabular format, showing modified rows with optional expansion to include all columns.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Header Parameters
- Authorization stringRequired
The JWT used for authentication. Send the JWT in the AuthRequest header using the Bearer schema.
Query Parameters
- expandRow boolean
When set to true, the records returned by this endpoint will include the latest change (if available) for each editable column in the record. This parameter should be used in combination with a filter on updatedAt for use cases that require all editable columns to be included in each response.
- page string
Used for cursor-based pagination.
- limit integer
Defines the size of each paged result (maximum 100).
- filter string
A SCIM filter expression used to filter the result. The filter parameter allows complex logical expressions using comparison operators and grouping.
- Supported attributes:
committed,cellKey.columnId,columnId,createdBy,createdAt,updatedAt - Supported operators:
eq,ne,co,sw,ew,pr,gt,ge,lt,le - Logical operators:
and,or,not
- Supported attributes:
Path Parameters
- storeId stringRequired
The id of the change store.
Responses
200
Returns change-store values in tabular format.
- application/json object
application/json properties
- totalCount integer
- currentPageCount integer
- links object
links properties
- next object
next properties
- href string
-
- prev object
prev properties
- href string
-
- self object
self properties
- href string
-
-
- data array of objects
data properties
- updatedAt string
The timestamp when the row was last updated.
- updatedBy string
The user id that performed the latest update in the row (corresponds to updatedAt).
additional optional properties
- string string
-
-
400
Bad Request
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
401
Unauthorized
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
403
Forbidden
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
404
Not found
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
500
Internal Server Error
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({ hostConfig: { host: 'https://{tenant}.{region}.qlikcloud.com', apiKey: '<access-token>', },})
await qlik.analytics.changeStores.getChangeStoreChangesTabularViews( '507f1f77bcf86cd799439011', {},)qlik analytics change-store change tabular-view ls '507f1f77bcf86cd799439011'curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/change-stores/{storeId}/changes/tabular-views" \-H "Authorization: Bearer <access_token>"Example Response
{ "totalCount": 10, "currentPageCount": 2, "links": { "next": { "href": "https://example.org/api/analytics/change-stores?page=<next-cursor>" }, "prev": { "href": "https://example.org/api/analytics/change-stores?page=<previous-cursor>" }, "self": { "href": "https://example.org/api/analytics/change-stores?page=<self-cursor>" } }, "data": [ { "Color": "red", "Price": "200", "Product": "table", "updatedAt": "2023-10-01T12:00:00Z", "updatedBy": "abc123" }, { "Color": "green", "Price": "100", "Product": "chair", "updatedAt": "2023-10-01T13:00:00Z" } ]}Returns a paginated list of editable-columns that belong to the specified change store, supporting optional filtering and sorting.
Facts
| Rate limit | Tier 1 (1000 requests per minute) |
Header Parameters
- Authorization stringRequired
The JWT used for authentication. Send the JWT in the AuthRequest header using the Bearer schema.
Query Parameters
- page string
Used for cursor-based pagination.
- limit integer
Defines the size of each paged result (maximum 100).
- filter string
A SCIM filter expression used to filter the result. The filter parameter allows complex logical expressions using comparison operators and grouping.
- Supported attributes:
referenceId,spaceId,createdBy,type,columnName,usedBy.appId,usedBy.chartId - Supported operators:
eq,ne,co,sw,ew,pr,gt,ge,lt,le - Logical operators:
and,or,not
- Supported attributes:
- sort string
Sort results by a field, with optional + (asc) or - (desc) prefix
Path Parameters
- storeId stringRequired
The id of the change store.
Responses
200
Returns a list of editable-columns.
- application/json object
application/json properties
- totalCount integer
- currentPageCount integer
- links object
links properties
- next object
next properties
- href string
-
- prev object
prev properties
- href string
-
- self object
self properties
- href string
-
-
- data array of objects
data properties
- id string
The unique id of the editable column.
- type string
Type of the editable column.
Can be one of: "editable-text""editable-selector""editable-date"
- config object
Configuration values required for the editable-column type.
config properties
- maxDate string
Maximum selectable date for editable-date columns (ISO 8601 date).
- minDate string
Minimum selectable date for editable-date columns (ISO 8601 date).
- selectorType string
Type of selector. fixed, dynamic or empty if editable-column type is not editable-selector.
Can be one of: "fixed""dynamic"""
- selectorValues array of objects
List of value/label key/value pairs.
selectorValues properties
- label string
The Label of the selector.
- value string
The Value of the selector.
-
- selectorExpression string
Expression used to create dynamic selector values.
-
- usedBy array of objects
List of chart/app references.
usedBy properties
- appId stringRequired
The id of the app.
- chartId stringRequired
The id of the chart.
-
- spaceId string
The space id that the editable columns are associated with.
- storeId string
Store id.
- tenantId string
Tenant id.
- createdAt string
Timestamp of creation.
- createdBy string
The user who created the column.
- updatedAt string
Timestamp of last update.
- columnName string
Name of the editable column.
- referenceId string
The unique id used to keep a reference of editable columns in multiple spaces.
- publishRefId string
The publish reference id used to relate editable columns between published apps/spaces.
- selectorValues array of objects
List of value/label key/value pairs.
selectorValues properties
- label string
The Label of the selector.
- value string
The Value of the selector.
-
-
-
400
Bad Request
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
401
Unauthorized
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
403
Forbidden
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
404
Not found
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
500
Internal Server Error
- application/json object
application/json properties
- errors array of objects
list of errors
errors properties
- code stringRequired
The error code.
- title stringRequired
Description of the error.
- detail string
Extra information about the error.
-
- traceId string
-
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({ hostConfig: { host: 'https://{tenant}.{region}.qlikcloud.com', apiKey: '<access-token>', },})
await qlik.analytics.changeStores.getChangeStoreEditableColumns( '507f1f77bcf86cd799439011', {},)qlik analytics change-store editable-column ls '507f1f77bcf86cd799439011'curl "https://{tenant}.{region}.qlikcloud.com/api/analytics/change-stores/{storeId}/editable-columns" \-H "Authorization: Bearer <access_token>"Example Response
{ "totalCount": 10, "currentPageCount": 2, "links": { "next": { "href": "https://example.org/api/analytics/change-stores?page=<next-cursor>" }, "prev": { "href": "https://example.org/api/analytics/change-stores?page=<previous-cursor>" }, "self": { "href": "https://example.org/api/analytics/change-stores?page=<self-cursor>" } }, "data": [ { "id": "6835b0135cf7147c01979e5d", "type": "editable-text", "config": { "maxDate": "2025-12-31", "minDate": "2025-01-01", "selectorType": "fixed", "selectorValues": [ { "label": "label1", "value": "value1" } ], "selectorExpression": "BEL~Belgium|DNK~Denmark|SWE~Sweden" }, "usedBy": [ { "appId": "af604296-14f6-48c2-8bac-12ce49ba83cc", "chartId": "chartId" } ], "spaceId": "6835b0135cf7147c01979e5d", "storeId": "507f1f77bcf86cd799439011", "tenantId": "tenantID", "createdAt": "2025-05-27T12:29:07.178Z", "createdBy": "testUser", "updatedAt": "0001-01-01T00:00:00Z", "columnName": "Price4", "referenceId": "6835b0135cf7147c01979e5d", "publishRefId": "6835b0135cf7147c01979e5d", "selectorValues": [ { "label": "label1", "value": "value1" } ] } ]}