A semantic type describes what the values in a dataset field represent. For example, a text field might contain email addresses, country codes, or other values that follow a known dictionary or pattern.

Qlik Cloud determines semantic types during data discovery. You can use the predefined semantic types provided by Qlik or create custom dictionary-based, pattern-based, and compound types. In the Semantic types API, pattern-based types are represented by the REGEX type.

Semantic types are used to validate field values and can contribute to dataset data quality. They can also provide information used for data classification and regulatory review.

Use the Semantic types API to manage these definitions programmatically, including exporting and importing them for reuse or migration.

For more information about semantic types and how they are used in Qlik Cloud, see Managing semantic types on Qlik Help. For an import and export workflow, see Import and export semantic types.

List semantic types

Retrieves all semantic types for a tenant. Supports conditional requests via the If-None-Match header.

Facts

Rate limit Tier 1 (1000 requests per minute)

Header Parameters

  • If-None-Match string

    The ETag value from a previous response. When it matches the current version, the server returns 304 Not Modified instead of the full response.

Query Parameters

  • fields string

    A comma-separated list of fields to include in the response. The id field is always returned regardless of this filter.

  • ids array of strings

    Used to get semantic types with given ids.

  • parentIds array of strings

    Used to get semantic types with given parent ids.

Responses

200

List of semantic type definitions

  • application/json object
    Show application/json properties
    • data any

304

The semantic type list has not changed since the ETag provided in the If-None-Match request header.

400

The request contains invalid fields.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
GET /api/data-governance/semantic-types
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.getSemanticTypes(
{},
)
qlik data-governance semantic-type ls
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types" \
-H "Authorization: Bearer <access_token>"

Example Response

{}

Create a semantic type

Creates a new semantic type for the current tenant. A semantic type can be defined as a regular expression, a dictionary of values, or a compound of other semantic types, as specified by the type field in the request body.

Facts

Rate limit Tier 2 (100 requests per minute)

Request Body

Required
  • application/json object

    A semantic type definition, expressed as a REGEX pattern, a DICTIONARY of values, or a COMPOUND of other semantic types.

    One of:
    • CreateSemanticTypeRegexRequest object

      Request to create a semantic type that matches words against a regex pattern.

      Show CreateSemanticTypeRegexRequest properties
      • type string
        Required

        Category of the semantic type. REGEX, DICTIONARY, or COMPOUND. Determines which config schema applies.

      • label string
        Required

        label of semantic type

      • config object
        Required

        A semantic type for words matching a regex pattern

        Show config properties
        • validationContent string

          one of ANY_CHARACTER / ALPHABETIC / NUMERIC, ANY_CHARACTER: validates all characters, ALPHABETIC: validates only alphabetic content, NUMERIC: validate only number

          Can be one of: "ANY_CHARACTER""ALPHABETIC""NUMERIC"

        • validationPattern string
          Required

          Regular expression

      • activated boolean

        When true, the semantic type can be used in data quality compute.

      • description string
      • useForValidation boolean

        When true, the semantic type is used for validation.

    • CreateSemanticTypeCompoundRequest object

      Request to create a compound semantic type composed of multiple child semantic types.

      Show CreateSemanticTypeCompoundRequest properties
      • type string
        Required

        Category of the semantic type. REGEX, DICTIONARY, or COMPOUND. Determines which config schema applies.

      • label string
        Required

        label of semantic type

      • config object
        Required

        A coumpound of multiple kinds of semantic types

        Show config properties
        • children array of strings
          Required

          Identifier of a child semantic type.

      • activated boolean

        When true, the semantic type can be used in data quality compute.

      • description string
      • useForValidation boolean

        When true, the semantic type is used for validation.

    • CreateSemanticTypeDictionaryRequest object

      Request to create a semantic type that matches words against a list of dictionary values.

      Show CreateSemanticTypeDictionaryRequest properties
      • type string
        Required

        Category of the semantic type. REGEX, DICTIONARY, or COMPOUND. Determines which config schema applies.

      • label string
        Required

        label of semantic type

      • config object
        Required

        A semantic type for words matching a value in the list of values

        Show config properties
        • values array of strings
          Required

          Values for dictionary

        • validationCriteria string

          one of EXACT_VALUE / IGNORE_CASE_AND_ACCENTS, EXACT_VALUE: matches only the exact values in dictionary, IGNORE_CASE_AND_ACCENTS: case and accents are ignored

          Can be one of: "EXACT_VALUE""IGNORE_CASE_AND_ACCENTS"

      • activated boolean

        When true, the semantic type can be used in data quality compute.

      • description string
      • useForValidation boolean

        When true, the semantic type is used for validation.

Responses

201

Semantic type created successfully.

  • application/json object
    Show application/json properties
    • id string
      Required
    • type string
      Required

      Can be one of: "REGEX""DICTIONARY""COMPOUND"

    • label string
      Required
    • config object
      Required
      One of:
      • SemanticTypeRegex object

        A semantic type for words matching a regex pattern

        Show SemanticTypeRegex properties
        • validationContent string

          one of ANY_CHARACTER / ALPHABETIC / NUMERIC, ANY_CHARACTER: validates all characters, ALPHABETIC: validates only alphabetic content, NUMERIC: validate only number

          Can be one of: "ANY_CHARACTER""ALPHABETIC""NUMERIC"

        • validationPattern string
          Required

          Regular expression

      • SemanticTypeDictionary object

        A semantic type for words matching a value in the list of values

        Show SemanticTypeDictionary properties
        • values array of strings
          Required

          Values for dictionary

        • validationCriteria string

          one of EXACT_VALUE / IGNORE_CASE_AND_ACCENTS, EXACT_VALUE: matches only the exact values in dictionary, IGNORE_CASE_AND_ACCENTS: case and accents are ignored

          Can be one of: "EXACT_VALUE""IGNORE_CASE_AND_ACCENTS"

      • SemanticTypeCompound object

        A coumpound of multiple kinds of semantic types

        Show SemanticTypeCompound properties
        • children array of strings
          Required

          Identifier of a child semantic type.

    • parentId string

      Parent semantic type identifier. This field is omitted from the default response and is only returned when explicitly requested with fields=parentId.

    • activated boolean
      Required
    • createdAt string
      Required
    • createdBy string
      Required
    • updatedAt string
      Required
    • updatedBy string
      Required
    • description string
    • useForValidation boolean
      Required

400

The request is in incorrect format, or the semantic type failed validation (for example, a duplicate label, an invalid validationPattern, or missing dictionary values).

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

404

Resource does not exist.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

413

The payload Too Large.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
POST /api/data-governance/semantic-types
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.createSemanticType(
{
type: 'REGEX',
label: 'Qlik email',
description:
'qlik email is a trigram followed by @qlik',
validationPattern: '^[a-z]{3}@qlik\\.com$',
},
)
qlik data-governance semantic-type create \
--config-validationContent '' \
--config-validationPattern '' \
--config-children '' \
--config-validationCriteria '' \
--config-values ''
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"type":"REGEX","label":"Qlik email","description":"qlik email is a trigram followed by @qlik","validationPattern":"^[a-z]{3}@qlik\\.com$"}'

Example Response

{
"type": "REGEX",
"label": "Qlik email",
"config": {
"validationContent": "ANY_CHARACTER",
"validationPattern": "^[a-z]{3}@qlik\\.com$"
},
"activated": true,
"createdAt": "2025-07-16T13:38:03Z",
"createdBy": "685bc460dcdf02ef734cd2e6",
"updatedAt": "2025-07-16T13:38:03Z",
"updatedBy": "685bc460dcdf02ef734cd2e6",
"description": "qlik email is a trigram followed by @qlik",
"useForValidation": true
}

Get a semantic type

Returns the definition of a single semantic type identified by its ID, including its configuration (regex, dictionary, or compound rules).

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • fields string

    A comma-separated list of fields to include in the response. The id field is always returned regardless of this filter.

Path Parameters

  • semanticTypeId string
    Required

    The unique identifier of the semantic type.

Responses

200

Semantic type retrieved successfully.

  • application/json object
    Show application/json properties
    • id string
      Required
    • type string
      Required

      Can be one of: "REGEX""DICTIONARY""COMPOUND"

    • label string
      Required
    • config object
      Required
      One of:
      • SemanticTypeRegex object

        A semantic type for words matching a regex pattern

        Show SemanticTypeRegex properties
        • validationContent string

          one of ANY_CHARACTER / ALPHABETIC / NUMERIC, ANY_CHARACTER: validates all characters, ALPHABETIC: validates only alphabetic content, NUMERIC: validate only number

          Can be one of: "ANY_CHARACTER""ALPHABETIC""NUMERIC"

        • validationPattern string
          Required

          Regular expression

      • SemanticTypeDictionary object

        A semantic type for words matching a value in the list of values

        Show SemanticTypeDictionary properties
        • values array of strings
          Required

          Values for dictionary

        • validationCriteria string

          one of EXACT_VALUE / IGNORE_CASE_AND_ACCENTS, EXACT_VALUE: matches only the exact values in dictionary, IGNORE_CASE_AND_ACCENTS: case and accents are ignored

          Can be one of: "EXACT_VALUE""IGNORE_CASE_AND_ACCENTS"

      • SemanticTypeCompound object

        A coumpound of multiple kinds of semantic types

        Show SemanticTypeCompound properties
        • children array of strings
          Required

          Identifier of a child semantic type.

    • parentId string

      Parent semantic type identifier. This field is omitted from the default response and is only returned when explicitly requested with fields=parentId.

    • activated boolean
      Required
    • createdAt string
      Required
    • createdBy string
      Required
    • updatedAt string
      Required
    • updatedBy string
      Required
    • description string
    • useForValidation boolean
      Required

400

The request is in incorrect format.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

404

Resource does not exist.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
GET /api/data-governance/semantic-types/{semanticTypeId}
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.getSemanticType(
'string',
{},
)
qlik data-governance semantic-type get 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types/{semanticTypeId}" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"type": "REGEX",
"label": "Qlik email",
"config": {
"validationContent": "ANY_CHARACTER",
"validationPattern": "^[a-z]{3}@qlik\\.com$"
},
"activated": true,
"createdAt": "2025-07-16T13:38:03Z",
"createdBy": "685bc460dcdf02ef734cd2e6",
"updatedAt": "2025-07-16T13:38:03Z",
"updatedBy": "685bc460dcdf02ef734cd2e6",
"description": "qlik email is a trigram followed by @qlik",
"useForValidation": true
}

Update a semantic type

Partially updates an existing semantic type identified by its ID. Only the fields included in the request payload are modified; omitted fields keep their current values.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • semanticTypeId string
    Required

    The unique identifier of the semantic type.

Request Body

Required
  • application/json array of objects
    Show application/json properties
    • op string
      Required

      Can be one of: "replace"

    • path string
      Required

      Can be one of: "/label""/description""/useForValidation""/activated""/config/validationContent""/config/validationPattern""/config/validationCriteria""/config/values""/config/children"

    • value string|boolean|array

      The new value to apply at the given path. The accepted type depends on the target path: a string for /label, /description, /config/validationContent, /config/validationPattern, and /config/validationCriteria; a boolean for /useForValidation and /activated; an array for /config/values and /config/children.

      One of:
      • string
      • boolean
      • array of undefineds

Responses

204

Semantic type updated successfully.

400

The request is in incorrect format.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

404

Resource does not exist.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

413

The payload Too Large.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
PATCH /api/data-governance/semantic-types/{semanticTypeId}
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.patchSemanticType(
'string',
[
{
op: 'replace',
path: '/label',
value: 'string',
},
],
)
qlik data-governance semantic-type patch 'string' \
--op 'replace' \
--path '/label'
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types/{semanticTypeId}" \
-X PATCH \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '[{"op":"replace","path":"/label","value":"string"}]'

Delete a semantic type

Permanently deletes a semantic type identified by its ID. This operation cannot be undone. Any dataset fields previously associated with the semantic type will no longer be classified by it. A semantic type used as a child of a COMPOUND type cannot be deleted until it is removed from that COMPOUND type.

Facts

Rate limit Tier 2 (100 requests per minute)

Path Parameters

  • semanticTypeId string
    Required

    The unique identifier of the semantic type.

Responses

204

Semantic type deleted successfully.

400

The request is in incorrect format, or the semantic type cannot be deleted because it is used as a child of a COMPOUND type.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

404

Resource does not exist.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
DELETE /api/data-governance/semantic-types/{semanticTypeId}
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.deleteSemanticType(
'string',
)
qlik data-governance semantic-type rm 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types/{semanticTypeId}" \
-X DELETE \
-H "Authorization: Bearer <access_token>"

List dataset fields affected by a semantic type

Returns a paginated list of datasets and their field names that are associated with the specified semantic type. Data is pre-computed from the dataset relationship collection and populated lazily when data quality events are processed.

Facts

Rate limit Tier 1 (1000 requests per minute)

Query Parameters

  • page integer

    Page number for pagination (1-based).

  • limit integer

    Number of items per page.

  • sort string

    Optional resource field name to sort on. Can be prefixed with +/- to determine order, defaults to (+) ascending. In URLs, "+" should be percent-encoded as "%2B".

    Can be one of: "+datasetId""-datasetId"

Path Parameters

  • semanticTypeId string
    Required

    The unique identifier of the semantic type.

Responses

200

Dataset fields retrieved successfully.

  • application/json object
    Show application/json properties
    • data array of objects
      Show data properties
      • datasetId string

        The unique identifier of the dataset.

      • fieldNames array of strings

        The list of field names in the dataset associated with the semantic type.

    • links object

      JSON:API pagination links.

      Show links properties
      • last object

        A pagination link object.

        Show last properties
        • href string

          The URL for the link.

      • next object

        A pagination link object.

        Show next properties
        • href string

          The URL for the link.

      • prev object

        A pagination link object.

        Show prev properties
        • href string

          The URL for the link.

      • first object

        A pagination link object.

        Show first properties
        • href string

          The URL for the link.

400

Bad request.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

404

Resource does not exist.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
GET /api/data-governance/semantic-types/{semanticTypeId}/dataset-fields
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.getSemanticTypeDatasetFields(
'string',
{},
)
qlik data-governance semantic-type dataset-field ls 'string'
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types/{semanticTypeId}/dataset-fields" \
-H "Authorization: Bearer <access_token>"

Example Response

{
"data": [
{
"datasetId": "string",
"fieldNames": [
"string"
]
}
],
"links": {
"last": {
"href": "string"
},
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"first": {
"href": "string"
}
}
}

Export semantic types

Exports semantic types from the current tenant as a downloadable JSON file. Supports optional filtering by type IDs, category, creator, or search term. Without filters, all types (user-created and Qlik defaults) are exported.

Facts

Rate limit Tier 2 (100 requests per minute)

Request Body

  • application/json object

    Request body for exporting semantic types with optional filters.

    Show application/json properties
    • ids array of strings

      List of semantic type IDs to export. When provided, only these types are included.

    • types array of strings

      Filter by semantic type categories. Supports multiple values for OR logic. When provided, only types matching the specified categories are included.

      Values may be any of: "REGEX""DICTIONARY""COMPOUND"

    • search string

      Case-insensitive substring search on label and description fields. Returns only semantic types where the label or description contains the search term. Special regex characters are automatically escaped for literal matching. Maximum length: 500 characters. Empty string returns no results.

    • createdBy string

      Filter by creator user ID. When provided, only types created by this user are included.

Responses

200

Export file containing the requested semantic types.

  • application/json object

    Self-describing export envelope for Qlik Cloud semantic types.

    Show application/json properties
    • version string
      Required

      Schema version for forward compatibility.

    • exportFormat string
      Required

      Format identifier for auto-detection on import.

      Can be one of: "QlikSemanticTypesExport"

    • exportedCount integer

      Total number of semantic types included in this export. Helps API consumers quickly determine export size without parsing the entire array.

    • semanticTypes array of objects
      Required

      A semantic type in the export file, stripped of internal fields.

      Show semanticTypes properties
      • type string
        Required

        Can be one of: "REGEX""DICTIONARY""COMPOUND"

      • label string
        Required
      • config object
        Required
        One of:
        • SemanticTypeRegex object

          A semantic type for words matching a regex pattern

          Show SemanticTypeRegex properties
          • validationContent string

            one of ANY_CHARACTER / ALPHABETIC / NUMERIC, ANY_CHARACTER: validates all characters, ALPHABETIC: validates only alphabetic content, NUMERIC: validate only number

            Can be one of: "ANY_CHARACTER""ALPHABETIC""NUMERIC"

          • validationPattern string
            Required

            Regular expression

        • SemanticTypeDictionary object

          A semantic type for words matching a value in the list of values

          Show SemanticTypeDictionary properties
          • values array of strings
            Required

            Values for dictionary

          • validationCriteria string

            one of EXACT_VALUE / IGNORE_CASE_AND_ACCENTS, EXACT_VALUE: matches only the exact values in dictionary, IGNORE_CASE_AND_ACCENTS: case and accents are ignored

            Can be one of: "EXACT_VALUE""IGNORE_CASE_AND_ACCENTS"

        • ExportSemanticTypeCompound object

          COMPOUND config in the export file. Children are represented as enriched references with label and parentId for cross-tenant resolution, instead of raw IDs which are tenant-specific.

          Show ExportSemanticTypeCompound properties
          • children array of objects
            Required

            Reference to a child type in a COMPOUND export. Contains resolution info (label + parentId) instead of a tenant-specific ID.

            Show children properties
            • label string
              Required

              Label of the child type. Primary resolution key at import time. The importer resolves children using a three-step cascade: first against types created earlier in the same import batch (by label), then against existing types in the target tenant (by label), and finally by parentId fallback.

            • parentId string

              Identifier of the child's parent default semantic type (Qlik-provisioned). Null for user-created children. Used as a fallback resolution key at import time: when the child's label does not match any type in the target tenant (e.g. because it was renamed after export), the importer looks up a type whose own parentId matches this value. If a child cannot be resolved by either label or parentId, the entire COMPOUND type is rejected with IMPORT_COMPOUND_CHILDREN_NOT_FOUND. Only that COMPOUND type is affected; the rest of the import proceeds normally (best-effort).

      • activated boolean
        Required
      • defaultId string

        Identifier of the parent default semantic type (Qlik-provisioned). Null for user-created types. Used for identity preservation during cross-tenant import and as fallback for COMPOUND children resolution when labels differ across tenants.

      • description string
      • useForValidation boolean
        Required

400

The request is in incorrect format.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
POST /api/data-governance/semantic-types/actions/export
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.exportSemanticTypes(
{
createdBy:
'712020:291adc5e-c210-408b-a43a-776448c35ef4',
ids: [
'3b179e2b028c4306ab108b68116ae639',
'4d237dd47e594f789617041b0d09c66f',
],
search: 'email',
types: ['REGEX', 'DICTIONARY'],
},
)
qlik data-governance semantic-type export
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types/actions/export" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"ids":["3b179e2b028c4306ab108b68116ae639","4d237dd47e594f789617041b0d09c66f"],"types":["REGEX","DICTIONARY"],"search":"email","createdBy":"712020:291adc5e-c210-408b-a43a-776448c35ef4"}'

Example Response

{
"version": "1.0",
"exportFormat": "QlikSemanticTypesExport",
"exportedCount": 42,
"semanticTypes": [
{
"type": "REGEX",
"label": "string",
"config": {
"validationContent": "ANY_CHARACTER",
"validationPattern": "^(\\\\S+)\\\\s+(\\\\S+)$"
},
"activated": true,
"defaultId": "string",
"description": "string",
"useForValidation": true
}
]
}

Import semantic types

Imports semantic types from a JSON file. Supports Qlik Cloud format (QlikSemanticTypesExport) and Talend legacy format (DQDictionaryImportExport). Format is auto-detected from the exportFormat field in the payload.

Conflict handling is controlled by the skipConfirmation flag and the optional conflictResolutions array:

  • Preview (skipConfirmation false/absent, no conflictResolutions): the file is analysed but nothing is imported. Returns 200 with a per-type conflict/summary body. Re-submit with skipConfirmation=true or conflictResolutions to actually apply the import.

  • One-shot (skipConfirmation=true, no conflictResolutions): if real conflicts or in-file duplicates exist, returns 200 with the conflict body and imports nothing; otherwise the import is applied and 201 is returned with the import report.

  • Resolved (conflictResolutions provided): the import is applied using the per-label strategies, falling back to defaultConflictStrategy (defaults to SKIP) for unlisted labels. Returns 201 in both cases (conflicts present or not), with the import report.

Import is best-effort: each type is processed independently. Failures are logged in the response report without blocking other types.

Facts

Rate limit Tier 2 (100 requests per minute)

Request Body

Required
  • application/json object

    Import request wrapping the export file and optional conflict resolutions.

    Show application/json properties
    • file object
      Required

      The export file payload as-is. Format is detected from the exportFormat field. Accepts QlikSemanticTypesExport (Qlik native) or DQDictionaryImportExport (Talend legacy).

    • skipConfirmation boolean

      Controls preview vs. one-shot import when no conflictResolutions are supplied. When false (default) the call is a preview: the file is analysed and a per-type conflict/summary body is returned (HTTP 200) without importing anything. When true the import is attempted one-shot: if real conflicts or in-file duplicates exist the conflict body is returned (HTTP 200) and nothing is imported; otherwise all types are imported (HTTP 201). Ignored when conflictResolutions are provided (those always apply the import).

    • conflictResolutions array of objects

      Per-type conflict resolution. Each entry maps a conflicting label to its strategy. Labels not listed fall back to defaultConflictStrategy. Omit entirely (or send null) on the first call to trigger conflict detection. Sending an array — even an empty one — applies the import, using defaultConflictStrategy for every conflict not listed.

      Show conflictResolutions properties
      • label string
        Required

        Label of the conflicting semantic type.

      • strategy string
        Required

        OVERWRITE: replace the existing type with the version from the file. SKIP: keep the existing type unchanged, do not import. KEEP_BOTH: keep the existing type and create the version from the file with a deduplicated label.

        Can be one of: "OVERWRITE""SKIP""KEEP_BOTH"

    • defaultConflictStrategy string

      Fallback strategy applied to conflicting types not listed in conflictResolutions. Defaults to SKIP.

      Can be one of: "OVERWRITE""SKIP""KEEP_BOTH"

Responses

200

Nothing was imported. The body is an ImportConflictResponse:

  • when skipConfirmation=true but real conflicts or in-file duplicates exist — nothing was imported;

  • when skipConfirmation is false/absent (preview) — nothing was imported. Re-submit with skipConfirmation=true or conflictResolutions to apply.

  • application/json object

    Returned when conflicts are detected and no resolutions were provided. Contains ALL types from the import file, each with a status indicating whether it is new or conflicts with an existing type.

    Show application/json properties
    • code string
      Required
    • types array of objects
      Required

      Every type from the import file with its status. CONFLICT types include a diff showing field-level differences. ERROR types include an error message describing the validation failure. DUPLICATE types are either repeated labels within the same file, or types whose definition is identical to one already in the tenant (auto-skipped, no conflict resolution needed).

      Show types properties
      • diff object

        Field-by-field comparison between the type from the import file and the existing type in the tenant. Only present when status is CONFLICT. Each field shows the value from the file and the existing value so the user can make an informed OVERWRITE / SKIP / KEEP_BOTH decision.

        Show diff properties
        • config object

          Type-specific config differences. Only the fields relevant to the type's category are present (REGEX → validationContent/validationPattern, DICTIONARY → validationCriteria/values, COMPOUND → children), and only when they differ.

          Show config properties
          • values object

            A single field difference between the file value and the existing type.

            Show values properties
            • existing any
              Required

              Value currently in the tenant.

            • fromFile any
              Required

              Value from the import file.

          • children object

            A single field difference between the file value and the existing type.

            Show children properties
            • existing any
              Required

              Value currently in the tenant.

            • fromFile any
              Required

              Value from the import file.

          • validationContent object

            A single field difference between the file value and the existing type.

            Show validationContent properties
            • existing any
              Required

              Value currently in the tenant.

            • fromFile any
              Required

              Value from the import file.

          • validationPattern object

            A single field difference between the file value and the existing type.

            Show validationPattern properties
            • existing any
              Required

              Value currently in the tenant.

            • fromFile any
              Required

              Value from the import file.

          • validationCriteria object

            A single field difference between the file value and the existing type.

            Show validationCriteria properties
            • existing any
              Required

              Value currently in the tenant.

            • fromFile any
              Required

              Value from the import file.

        • category object

          A single field difference between the file value and the existing type.

          Show category properties
          • existing any
            Required

            Value currently in the tenant.

          • fromFile any
            Required

            Value from the import file.

        • activated object

          A single field difference between the file value and the existing type.

          Show activated properties
          • existing any
            Required

            Value currently in the tenant.

          • fromFile any
            Required

            Value from the import file.

        • description object

          A single field difference between the file value and the existing type.

          Show description properties
          • existing any
            Required

            Value currently in the tenant.

          • fromFile any
            Required

            Value from the import file.

        • useForValidation object

          A single field difference between the file value and the existing type.

          Show useForValidation properties
          • existing any
            Required

            Value currently in the tenant.

          • fromFile any
            Required

            Value from the import file.

      • type string
        Required

        Category of the semantic type.

        Can be one of: "REGEX""DICTIONARY""COMPOUND"

      • error string

        Human-readable error message. Only present when status is ERROR.

      • label string
        Required

        Label of the semantic type.

      • status string
        Required

        NEW: no type with this label exists in the tenant. CONFLICT: a type with this label already exists but differs from the imported version. ERROR: the type has a validation error (missing field, invalid regex, etc.). DUPLICATE: the type is a duplicate — either another type with the same label appears earlier in the import file, or the imported type is identical to an existing type in the tenant (all user-visible fields match; auto-skipped with no conflict resolution needed).

        Can be one of: "NEW""CONFLICT""ERROR""DUPLICATE"

      • errorCode string

        Machine-readable error code. Only present when status is ERROR.

        Can be one of: "IMPORT_REGEX_PATTERN_MISSING""IMPORT_REGEX_PATTERN_TOO_LONG""IMPORT_REGEX_PATTERN_INVALID""IMPORT_DICTIONARY_VALUES_MISSING""IMPORT_DICTIONARY_VALUE_BLANK""IMPORT_COMPOUND_CHILDREN_MISSING""IMPORT_COMPOUND_CHILDREN_NOT_FOUND""IMPORT_DICTIONARY_VALIDATION_CRITERIA_INVALID"

    • message string
      Required

201

Import applied. The report contains summary counts and a detailed error list for any types that could not be processed. Returned in both the no-conflict case and when conflictResolutions were provided (regardless of whether conflicts were present).

  • application/json object

    Result of a best-effort import operation.

    Show application/json properties
    • errors array of objects
      Required

      Error detail for a single semantic type that could not be imported.

      Show errors properties
      • code string
        Required

        Application error code identifying the failure reason.

      • label string
        Required

        Label of the semantic type that failed.

      • message string
        Required

        Human-readable error description in English.

    • summary object
      Required

      Aggregate counts and per-status label details for the import result. Each status group includes a count and the list of affected type labels.

      Show summary properties
      • errored object
        Required

        Count and affected types for one import outcome.

        Show errored properties
        • count integer
          Required

          Number of types in this category.

        • items array of objects
          Required

          Affected semantic types paired with their persisted resource id. Ids are present for created, updated, skipped and duplicate outcomes, and null for errored types that were never persisted.

          Show items properties
          • id string

            Persisted resource id of the semantic type, or null when no resource exists for this outcome (for example, an errored type that was never created).

          • label string
            Required

            Label of the affected semantic type.

        • labels array of strings
          Required

          Labels of the affected semantic types.

      • skipped object
        Required

        Count and affected types for one import outcome.

        Show skipped properties
        • count integer
          Required

          Number of types in this category.

        • items array of objects
          Required

          Affected semantic types paired with their persisted resource id. Ids are present for created, updated, skipped and duplicate outcomes, and null for errored types that were never persisted.

          Show items properties
          • id string

            Persisted resource id of the semantic type, or null when no resource exists for this outcome (for example, an errored type that was never created).

          • label string
            Required

            Label of the affected semantic type.

        • labels array of strings
          Required

          Labels of the affected semantic types.

      • updated object
        Required

        Count and affected types for one import outcome.

        Show updated properties
        • count integer
          Required

          Number of types in this category.

        • items array of objects
          Required

          Affected semantic types paired with their persisted resource id. Ids are present for created, updated, skipped and duplicate outcomes, and null for errored types that were never persisted.

          Show items properties
          • id string

            Persisted resource id of the semantic type, or null when no resource exists for this outcome (for example, an errored type that was never created).

          • label string
            Required

            Label of the affected semantic type.

        • labels array of strings
          Required

          Labels of the affected semantic types.

      • duplicates object
        Required

        Count and affected types for one import outcome.

        Show duplicates properties
        • count integer
          Required

          Number of types in this category.

        • items array of objects
          Required

          Affected semantic types paired with their persisted resource id. Ids are present for created, updated, skipped and duplicate outcomes, and null for errored types that were never persisted.

          Show items properties
          • id string

            Persisted resource id of the semantic type, or null when no resource exists for this outcome (for example, an errored type that was never created).

          • label string
            Required

            Label of the affected semantic type.

        • labels array of strings
          Required

          Labels of the affected semantic types.

      • totalCreated object
        Required

        Count and affected types for one import outcome.

        Show totalCreated properties
        • count integer
          Required

          Number of types in this category.

        • items array of objects
          Required

          Affected semantic types paired with their persisted resource id. Ids are present for created, updated, skipped and duplicate outcomes, and null for errored types that were never persisted.

          Show items properties
          • id string

            Persisted resource id of the semantic type, or null when no resource exists for this outcome (for example, an errored type that was never created).

          • label string
            Required

            Label of the affected semantic type.

        • labels array of strings
          Required

          Labels of the affected semantic types.

400

Invalid payload — malformed JSON, unknown format, or structural error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

401

User does not have valid authentication credentials.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

403

User does not have access to the resource.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

500

Internal Server Error.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string

503

Requested service is not available.

  • application/json object
    Show application/json properties
    • errors array of objects
      Show errors properties
      • code string
      • title string
      • detail string
      • status string
    • traceId string
POST /api/data-governance/semantic-types/actions/import
import { createQlikApi } from '@qlik/api'
const qlik = createQlikApi({
hostConfig: {
host: 'https://{tenant}.{region}.qlikcloud.com',
apiKey: '<access-token>',
},
})
await qlik.dataGovernance.semanticTypes.importSemanticTypes(
{
conflictResolutions: [
{
label: 'Email Address',
strategy: 'SKIP',
},
],
defaultConflictStrategy: 'SKIP',
file: {
exportedAt: '2024-01-01T00:00:00Z',
exportFormat: 'QlikSemanticTypesExport',
semanticTypes: [],
},
},
)
qlik data-governance semantic-type import \
--conflictResolutions-label '' \
--conflictResolutions-strategy '' \
--file [object Object]
curl "https://{tenant}.{region}.qlikcloud.com/api/data-governance/semantic-types/actions/import" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{"file":{"exportedAt":"2024-01-01T00:00:00Z","exportFormat":"QlikSemanticTypesExport","semanticTypes":[]},"skipConfirmation":false,"conflictResolutions":[{"label":"Email Address","strategy":"SKIP"}],"defaultConflictStrategy":"SKIP"}'

Example Response

{
"code": "IMPORT_CONFLICT",
"types": [
{
"diff": {
"config": {
"values": {},
"children": {},
"validationContent": {},
"validationPattern": {},
"validationCriteria": {}
},
"category": {},
"activated": {},
"description": {},
"useForValidation": {}
},
"type": "REGEX",
"error": "string",
"label": "string",
"status": "NEW",
"errorCode": "IMPORT_REGEX_PATTERN_MISSING"
}
],
"message": "Conflicts: 2 of 10, Unchanged: 3."
}