openapi: 3.2.0 info: title: data-sets Data Set API version: '' servers: - url: https://{tenant}.{region}.qlikcloud.com variables: region: default: us description: The region the tenant is hosted in tenant: default: your-tenant description: Name of the tenant that will be called tags: - name: Dataset paths: /api/v1/data-sets: post: tags: - Dataset 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: - Dataset 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: - Dataset 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: - Dataset 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. A user can update any DataSet within a space if they fulfill **one** of the following conditions: - Has **Can edit** permission in a **data space**. - Is a **Professional** user with the **Editor** or **Operator** role in a **shared space**. - Is a **Professional** user with the **Facilitator** or **Operator** role in a **managed space**.' 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: - Dataset 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. A user can update any DataSet within a space if they fulfill **one** of the following conditions: - Has **Can edit** permission in a **data space**. - Is a **Professional** user with the **Editor** or **Operator** role in a **shared space**. - Is a **Professional** user with the **Facilitator** or **Operator** role in a **managed space**.' 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 components: schemas: DataStoreInfo: type: object required: - id properties: id: type: string name: type: string readOnly: true type: type: string readOnly: true UserTag: type: object properties: id: type: string description: The id of the tag in Collections name: type: string maxLength: 128 minLength: 1 description: An array of user-supplied tags Error: type: object properties: code: type: string title: type: string detail: type: string status: type: string DataAssetInfo: type: object required: - id properties: id: type: string name: type: string readOnly: true dataStoreInfo: $ref: '#/components/schemas/DataStoreInfo' TableConnectionInfo: type: object properties: tableName: type: string selectionScript: type: string additionalProperties: type: object additionalProperties: type: string JsonPatch: type: object required: - op - path properties: op: enum: - add - remove - replace - move - copy - test type: string description: The operation to be performed. from: type: string description: A JSON Pointer path pointing to the location to move/copy from. path: type: string description: A JSON pointer to the property being affected. value: type: object description: The value to add, replace or test. BatchIdDto: type: object properties: ids: type: array items: type: string uniqueItems: true 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 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 description: 'The properties map key is string and the value is of type object. Please note, Datatype DECIMAL requires two mandatory properties to be defined; these properties must be named: precision and scale, each of these property accepts integer value. All other datatypes does not require any manadatory properties to be defined.' additionalProperties: type: object description: 'The properties map key is string and the value is of type object. Please note, Datatype DECIMAL requires two mandatory properties to be defined; these properties must be named: precision and scale, each of these property accepts integer value. All other datatypes does not require any manadatory properties to be defined.' originalType: type: string Schema: type: object title: Schema required: - dataFields properties: anomalies: type: array items: type: string description: 'Anomalies associated with this schema. Example: $warning-unknown-headers' description: 'Anomalies associated with this schema. Example: $warning-unknown-headers' uniqueItems: true dataFields: type: array items: $ref: '#/components/schemas/DataField' schemaName: type: string loadOptions: type: object description: 'Options for loading files. Example: "qLabel": "embedded labels"' additionalProperties: type: object description: 'Options for loading files. Example: "qLabel": "embedded labels"' effectiveDate: type: string format: date-time readOnly: true overrideSchemaAnomalies: type: boolean 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 ErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' traceId: type: string Operational: type: object title: Operational properties: size: type: integer format: int64 status: type: string endDate: type: string format: date-time location: type: string rowCount: type: integer format: int64 startDate: type: string format: date-time logMessage: type: string tableOwner: type: string lastLoadTime: type: string format: date-time contentUpdated: type: boolean lastUpdateTime: type: string format: date-time tableConnectionInfo: $ref: '#/components/schemas/TableConnectionInfo' 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:::<user/space guid>: 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.