Every API here is available over the APIs.io API and to AI agents over MCP.
{
"info": {
"title": "data-sets",
"version": ""
},
"paths": {
"/api/v1/data-sets": {
"post": {
"tags": [
"data-set"
],
"summary": "Save new data set",
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"description": "Created new data set successfully."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The request is in incorrect format."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have valid authentication credentials."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have access to the resource."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Resource does not exist."
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The input request conflicts with the current state of the resource."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error."
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Requested service is not available."
}
},
"operationId": "saveDataSet",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"required": true
},
"x-qlik-stability": "stable",
"x-qlik-visibility": "public",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
},
"delete": {
"tags": [
"data-set"
],
"summary": "Batch delete data sets.",
"responses": {
"204": {
"description": "Deleted data sets."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The request is in incorrect format."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have valid authentication credentials."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have access to the resource."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Resource does not exist."
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The input request conflicts with the current state of the resource."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error."
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Requested service is not available."
}
},
"operationId": "batchDeleteDataSets",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchIdDto"
}
}
},
"required": true
},
"x-qlik-stability": "stable",
"x-qlik-visibility": "public",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/data-sets/{data-set-id}": {
"get": {
"tags": [
"data-set"
],
"summary": "Get data set by ID.",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"description": "Successful Operation."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The request is in incorrect format."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have valid authentication credentials."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have access to the resource."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Resource does not exist."
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The input request conflicts with the current state of the resource."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error."
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Requested service is not available."
}
},
"parameters": [
{
"in": "path",
"name": "data-set-id",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "projections",
"schema": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"required": false,
"description": "Comma-separated fields to return in the response."
}
],
"operationId": "getDataSet",
"x-qlik-stability": "stable",
"x-qlik-visibility": "public",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
},
"patch": {
"tags": [
"data-set"
],
"summary": "Patch data set.",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"description": "Patched data set successfully."
},
"204": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"description": "Patched data set successfully."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The request is in incorrect format."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have valid authentication credentials."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have access to the resource."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Resource does not exist."
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The input request conflicts with the current state of the resource."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error."
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Requested service is not available."
}
},
"parameters": [
{
"in": "path",
"name": "data-set-id",
"schema": {
"type": "string"
},
"required": true
}
],
"description": "Partially updates an existing DataSet by ID using JSON Patch operations (RFC 6902), including ownership attributes.\n\nA user can update any DataSet within a space if they fulfill **one** of the following conditions:\n\n- Has **Can edit** permission in a **data space**.\n- Is a **Professional** user with the **Editor** or **Operator** role in a **shared space**.\n- Is a **Professional** user with the **Facilitator** or **Operator** role in a **managed space**.\n",
"operationId": "patchDataSet",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/JsonPatch"
},
"description": "Array of JSON patch documents as defined by RFC 6902."
}
}
},
"required": true
},
"x-qlik-stability": "stable",
"x-qlik-visibility": "public",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
},
"put": {
"tags": [
"data-set"
],
"summary": "Update data set.",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"description": "Updated data set successfully."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The request is in incorrect format."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have valid authentication credentials."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have access to the resource."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Resource does not exist."
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The input request conflicts with the current state of the resource."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error."
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Requested service is not available."
}
},
"parameters": [
{
"in": "path",
"name": "data-set-id",
"schema": {
"type": "string"
},
"required": true
}
],
"description": "Fully replaces an existing DataSet by ID, including ownership attributes.\n\nA user can update any DataSet within a space if they fulfill **one** of the following conditions:\n\n- Has **Can edit** permission in a **data space**.\n- Is a **Professional** user with the **Editor** or **Operator** role in a **shared space**.\n- Is a **Professional** user with the **Facilitator** or **Operator** role in a **managed space**.\n",
"operationId": "updateDataSet",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataSet"
}
}
},
"required": true
},
"x-qlik-stability": "stable",
"x-qlik-visibility": "public",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/data-sets/{data-set-id}/profiles": {
"get": {
"tags": [
"profile"
],
"summary": "Get profile for the given dataset and connection Id pair, if the profile already exists in the system. Profile returned can be either latest or Stale one based on when it was computed.",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PageDataSetProfile"
}
}
},
"description": "Return profiles of data set."
},
"202": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PageDataSetProfile"
}
}
},
"description": "The profile is currently running."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The request is in incorrect format."
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have valid authentication credentials."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "User does not have access to the resource."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Resource does not exist."
},
"409": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "The input request conflicts with the current state of the resource."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Internal Server Error."
},
"503": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Requested service is not available."
}
},
"parameters": [
{
"in": "path",
"name": "data-set-id",
"schema": {
"type": "string"
},
"required": true
},
{
"in": "query",
"name": "dataConnectionIds",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"required": false,
"description": "Comma-separated data connection IDs."
},
{
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"format": "int32",
"default": 20,
"maximum": 100
},
"required": false,
"description": "Page size limit."
},
{
"in": "query",
"name": "page",
"schema": {
"type": "integer",
"format": "int32",
"default": 0
},
"required": false
},
{
"in": "query",
"name": "projections",
"schema": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"required": false,
"description": "Comma-separated fields to return in the response."
},
{
"in": "query",
"name": "sort",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"required": false
}
],
"operationId": "getDataSetProfiles",
"x-qlik-stability": "stable",
"x-qlik-visibility": "public",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
}
}
},
"openapi": "3.0.0",
"components": {
"schemas": {
"BatchIdDto": {
"type": "object",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"BinnedFrequency": {
"type": "object",
"properties": {
"binEdge": {
"type": "number",
"format": "double"
},
"frequency": {
"type": "integer",
"format": "int64"
}
}
},
"Classification": {
"type": "object",
"properties": {
"pii": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Tag"
}
},
"sensitive": {
"type": "boolean"
},
"obfuscation": {
"type": "string"
}
}
},
"DataAssetInfo": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"readOnly": true
},
"dataStoreInfo": {
"$ref": "#/components/schemas/DataStoreInfo"
}
}
},
"DataField": {
"type": "object",
"required": [
"dataType",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"tags": {
"type": "array",
"items": {
"type": "string",
"description": "An array of system tags"
},
"description": "An array of system tags",
"uniqueItems": true
},
"alias": {
"type": "string"
},
"index": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"orphan": {
"type": "boolean"
},
"dataType": {
"$ref": "#/components/schemas/FieldDataType"
},
"nullable": {
"type": "boolean"
},
"userTags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserTag"
},
"description": "An array of user-supplied tags",
"uniqueItems": true
},
"encrypted": {
"type": "boolean"
},
"sensitive": {
"type": "boolean"
},
"primaryKey": {
"type": "boolean"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "object"
}
},
"description": {
"type": "string"
},
"ordinalPositionInKey": {
"type": "integer",
"format": "int32"
}
}
},
"DataSet": {
"type": "object",
"title": "Data Set",
"required": [
"dataAssetInfo",
"qri",
"secureQri",
"technicalName"
],
"properties": {
"id": {
"type": "string",
"description": "Only required when updating the resource. Must be null for new resources."
},
"qri": {
"type": "string",
"format": "qdf:<store-type>:<tenant-guid>:<<uid@/sid@>user/space guid>:<path-to-file>",
"maxLength": 1024,
"minLength": 8,
"description": "NOTE: this will be deprecated after migration to secureQri. Required user defined field. All the parts in the format must be separated by ':'. The first part denotes the resourceType, followed by dataStoreType and tenant guid. The spaceGuid or userGuid is to be populated based on if the dataset is in shared or private space and finally the full file name. This field is auto populated for the dataSet generated for qix-datafiles."
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 0
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"type": {
"type": "string"
},
"schema": {
"$ref": "#/components/schemas/Schema"
},
"ownerId": {
"type": "string",
"description": "The value is automatically set by the application."
},
"spaceId": {
"type": "string"
},
"version": {
"type": "integer",
"format": "int64",
"description": "Only required when updating the resource. Must be null for new resources."
},
"tenantId": {
"type": "string",
"readOnly": true,
"description": "The value is automatically set by the application. User defined value is ignored."
},
"createdBy": {
"type": "string",
"readOnly": true,
"description": "The value is automatically set by the application. User defined value is ignored."
},
"secureQri": {
"type": "string"
},
"properties": {
"type": "object",
"description": "A Map of name-value pairs.",
"additionalProperties": {
"type": "object",
"description": "A Map of name-value pairs."
}
},
"createdTime": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The value is automatically set by the application. User defined value is ignored."
},
"description": {
"type": "string",
"maxLength": 1024,
"minLength": 0
},
"operational": {
"$ref": "#/components/schemas/Operational"
},
"dataAssetInfo": {
"$ref": "#/components/schemas/DataAssetInfo"
},
"technicalName": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"lastModifiedBy": {
"type": "string",
"readOnly": true,
"description": "The value is automatically set by the application. User defined value is ignored."
},
"appTypeOverride": {
"type": "string",
"description": "Optional override of DataAsset appType."
},
"lastModifiedTime": {
"type": "string",
"format": "date-time",
"readOnly": true,
"description": "The value is automatically set by the application. User defined value is ignored."
},
"additionalSchemas": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Schema"
},
"description": "Optional field to specify additional schemas for files where multiple tables or sheets are available. User must define primary schema in 'schema' attribute and rest of the sheets/ tables can be defined using this field. This field is not populated for the dataSets with single schema"
},
"technicalDescription": {
"type": "string",
"maxLength": 1024,
"minLength": 0
},
"createdByConnectionId": {
"type": "string",
"description": "The connectionId that created the Dataset. Optional."
}
}
},
"DataSetProfile": {
"type": "object",
"title": "Data Set Profile",
"properties": {
"meta": {
"$ref": "#/components/schemas/ProfileMetadata"
},
"samples": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TableSample"
},
"readOnly": true
},
"profiles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TableProfile"
},
"readOnly": true
}
}
},
"DataStoreInfo": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string",
"readOnly": true
},
"type": {
"type": "string",
"readOnly": true
}
}
},
"Error": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"ErrorResponse": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Error"
}
},
"traceId": {
"type": "string"
}
}
},
"FieldDataType": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"DATE",
"TIME",
"DATETIME",
"TIMESTAMP",
"STRING",
"DOUBLE",
"DECIMAL",
"INTEGER",
"BOOLEAN",
"BINARY",
"CUSTOM"
],
"type": "string",
"description": "Each datatype may vary in terms of required properties. Example: Datatype DECIMAL requires two mandatory properties to be defined - precision and scale, each one accepts integer value. All other datatypes does not have any required properties."
},
"properties": {
"type": "object",
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/qliksense/refs/heads/main/openapi/qliksense-data-sets.json