Qlik Data credentials API

Data credentials are the stored credentials leveraged by the data-connections service to connect to external data sources.

Operations 5

GET /api/v1/data-credentials/{qID} Gets a credential by ID (or by name when bycredentialname=true is set in query)
PATCH /api/v1/data-credentials/{qID} Patches a credential specified by ID (or by name when bycredentialname=true is set in query)
PUT /api/v1/data-credentials/{qID} Updates a credential specified by ID (or by name when bycredentialname=true is set in query)
DELETE /api/v1/data-credentials/{qID} Deletes the specified credential by ID (or by name when type=credentialname is set in query)
POST /api/v1/data-credentials/actions/filter-orphan Gets list of orphan data credentials (i.e. credentials that are not associated to any data connection) filtering on properties defined in request body

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/data-credentials-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

qliksense-data-credentials.json Raw ↑
{
  "info": {
    "title": "data-credentials",
    "version": ""
  },
  "paths": {
    "/api/v1/data-credentials/{qID}": {
      "get": {
        "tags": [
          "data-credentials"
        ],
        "summary": "Gets a credential by ID (or by name when bycredentialname=true is set in query)",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Credential"
                }
              }
            },
            "description": "Credential retrieved"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Empty value not permitted for dataName"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Credential not found"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/qCredID"
          },
          {
            "$ref": "#/components/parameters/bycredentialname"
          }
        ],
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "1",
          "limit": 1000
        }
      },
      "patch": {
        "tags": [
          "data-credentials"
        ],
        "summary": "Patches a credential specified by ID (or by name when bycredentialname=true is set in query)",
        "responses": {
          "204": {
            "description": "Credential updated successfully"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Connection ID changed"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Credential not found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Credential already exists (when updated name conflicts with existing record)"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/qCredID"
          },
          {
            "$ref": "#/components/parameters/bycredentialname"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRequest"
              }
            }
          },
          "required": true
        },
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      },
      "put": {
        "tags": [
          "data-credentials"
        ],
        "summary": "Updates a credential specified by ID (or by name when bycredentialname=true is set in query)",
        "responses": {
          "204": {
            "description": "Credential updated successfully"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Connection ID changed"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Credential not found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Credential already exists (when updated name conflicts with existing record)"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/qCredID"
          },
          {
            "$ref": "#/components/parameters/bycredentialname"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CredentialCreate"
              }
            }
          },
          "required": true
        },
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      },
      "delete": {
        "tags": [
          "data-credentials"
        ],
        "summary": "Deletes the specified credential by ID (or by name when type=credentialname is set in query)",
        "responses": {
          "204": {
            "description": "Credential deleted successfully"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Credential not found"
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/qCredID"
          },
          {
            "$ref": "#/components/parameters/bycredentialname"
          }
        ],
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      }
    },
    "/api/v1/data-credentials/actions/filter-orphan": {
      "post": {
        "tags": [
          "data-credentials"
        ],
        "summary": "Gets list of orphan data credentials (i.e. credentials that are not associated to any data connection) filtering on properties defined in request body",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActionFilterOrphanResponse"
                }
              }
            },
            "description": "Orphan credentials returned"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "Bad request (Missing required field in request body)"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseErrors"
                }
              }
            },
            "description": "User has no access to credentials"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActionFilterOrphanRequest"
              }
            }
          },
          "required": true
        },
        "x-qlik-visibility": "public",
        "x-qlik-stability": "stable",
        "x-qlik-deprecated": false,
        "x-qlik-tier": {
          "tier": "2",
          "limit": 100
        }
      }
    }
  },
  "openapi": "3.0.0",
  "components": {
    "parameters": {
      "bycredentialname": {
        "in": "query",
        "name": "byCredentialName",
        "schema": {
          "type": "boolean"
        },
        "example": false,
        "required": false,
        "description": "If set to true, credentialId in the query will be interpreted as credential's name"
      },
      "qCredID": {
        "in": "path",
        "name": "qID",
        "schema": {
          "type": "string"
        },
        "example": "027d2703-e745-43ec-8876-a2e6ac341700",
        "required": true,
        "description": "Credential ID"
      }
    },
    "schemas": {
      "ActionFilterOrphanRequest": {
        "type": "object",
        "properties": {
          "qType": {
            "type": "string",
            "example": "QvOdbcConnectorPackage.exe",
            "description": "Filtering on type of credentials"
          },
          "qSeparated": {
            "enum": [
              0,
              1
            ],
            "type": "integer",
            "example": 0,
            "description": "Filtering on separate status of credentials: * 0 - embedded credential * 1 - separated credential\n"
          },
          "datasourceID": {
            "type": "string",
            "example": "snowflake",
            "description": "Filtering on datasource ID of credentials"
          }
        }
      },
      "ActionFilterOrphanResponse": {
        "type": "object",
        "required": [
          "data",
          "count"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrphanCredentialResItem"
            }
          },
          "count": {
            "type": "integer",
            "example": 1,
            "description": "Number of orphan credentials found"
          }
        }
      },
      "Credential": {
        "type": "object",
        "required": [
          "qID",
          "qName",
          "qType",
          "qConnCount"
        ],
        "properties": {
          "qID": {
            "type": "string",
            "example": "065f977e-6eca-408c-b78b-ecded823712c",
            "description": "UUID of the credential"
          },
          "links": {
            "$ref": "#/components/schemas/Link"
          },
          "qName": {
            "type": "string",
            "example": "MyCredential for REST datasource",
            "description": "Name of the credential",
            "x-qlik-filterable": true
          },
          "qType": {
            "type": "string",
            "example": "QvWebStorageProviderConnectorPackage.exe",
            "description": "Type of credential",
            "x-qlik-filterable": true
          },
          "created": {
            "type": "string",
            "example": "2022-04-08T10:00:28.287Z",
            "description": "Datetime when the credential was created",
            "x-qlik-filterable": true
          },
          "updated": {
            "type": "string",
            "example": "2022-04-09T10:00:28.287Z",
            "description": "Datetime when the credential was last updated",
            "x-qlik-filterable": true
          },
          "qConnCount": {
            "type": "integer",
            "example": 1,
            "description": "Number of linked connections"
          },
          "datasourceID": {
            "type": "string",
            "example": "rest",
            "description": "ID datasource that the credential is created for",
            "x-qlik-filterable": true
          },
          "qReferenceKey": {
            "type": "string",
            "example": "credential:key",
            "description": "Reference key of credential in redis"
          }
        }
      },
      "CredentialCreate": {
        "required": [
          "qName",
          "qType",
          "qUsername",
          "qPassword"
        ],
        "properties": {
          "qID": {
            "type": "string",
            "example": "c2dd20e3-1842-42d0-81fe-1ecf08e6abde",
            "description": "UUID of the credential"
          },
          "qName": {
            "type": "string",
            "example": "MyCredential for REST datasource",
            "description": "Name of the credential"
          },
          "qType": {
            "type": "string",
            "example": "QvWebStorageProviderConnectorPackage.exe",
            "description": "Type of credential (i.e. connector provider of the corresponding connection)"
          },
          "qPassword": {
            "type": "string",
            "example": "MyPassword",
            "description": "Password"
          },
          "qUsername": {
            "type": "string",
            "example": "MyUsername",
            "description": "User name"
          },
          "connectionId": {
            "type": "string",
            "example": "2eb98dea-5e3b-4f50-9967-841cec04b72f",
            "description": "ID of connection that will be associated with the credential"
          },
          "datasourceID": {
            "type": "string",
            "example": "rest",
            "description": "ID datasource that the credential is created for"
          }
        },
        "description": "Credential"
      },
      "Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "DCERROR-0010",
            "description": "Unique internal error code"
          },
          "title": {
            "type": "string",
            "example": "Bad or invalid request",
            "description": "A summary in english explaining what went wrong"
          },
          "detail": {
            "type": "string",
            "example": "Field xxx is missing in the request",
            "description": "More concrete details"
          },
          "status": {
            "type": "integer",
            "example": 400,
            "description": "HTTP status code"
          }
        }
      },
      "Errors": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Error"
        }
      },
      "Link": {
        "type": "object",
        "required": [
          "self"
        ],
        "properties": {
          "self": {
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "type": "string",
                "example": "https://mytenant.us.qlikcloud.com/...",
                "description": "URL pointing to the resource"
              }
            },
            "description": "Link to current query"
          }
        }
      },
      "OrphanCredentialResItem": {
        "required": [
          "qID",
          "qName",
          "qType",
          "userId",
          "tenantId",
          "created",
          "updated"
        ],
        "properties": {
          "qID": {
            "type": "string",
            "example": "c2dd20e3-1842-42d0-81fe-1ecf08e6abde",
            "description": "UUID of the credential"
          },
          "user": {
            "type": "string",
            "example": "rFdHeUOiVYgPX5iTbvL0x0Cs6F62QI",
            "description": "User ID of the credential's owner"
          },
          "qName": {
            "type": "string",
            "example": "MyCredential for REST datasource",
            "description": "Name of the credential"
          },
          "qType": {
            "type": "string",
            "example": "QvWebStorageProviderConnectorPackage.exe",
            "description": "Type of credential (i.e. connector provider of the corresponding connection)"
          },
          "tenant": {
            "type": "string",
            "example": "xqFQ0k34vSR0d9G7J-vZtHZQkiYrCqc8",
            "description": "Tenant ID of the credential's owner"
          },
          "created": {
            "type": "string",
            "example": "2022-04-08T10:00:28.287Z",
            "description": "Datetime when the credential was created"
          },
          "updated": {
            "type": "string",
            "example": "2022-04-09T10:00:28.287Z",
            "description": "Datetime when the credential was last updated"
          },
          "datasourceID": {
            "type": "string",
            "example": "rest",
            "description": "ID datasource that the credential is created for"
          }
        },
        "description": "Orphan credential"
      },
      "PatchRequest": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "op",
            "path"
          ],
          "properties": {
            "op": {
              "enum": [
                "add",
                "replace",
                "remove"
              ],
              "type": "string",
              "example": "add",
              "description": "Operation type"
            },
            "path": {
              "type": "string",
              "example": "/qName",
              "description": "Path to the target field to be patched"
            },
            "value": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "integer"
                },
                {
                  "type": "array"
                }
              ],
              "example": "New value",
              "description": "Value used for the patch. Required only for `add` or `replace` operations. The value type should match the type of the target field."
            }
          }
        }
      },
      "ResponseErrors": {
        "type": "object",
        "properties": {
          "errors": {
            "$ref": "#/components/schemas/Errors"
          }
        }
      }
    }
  },
  "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"
        }
      }
    }
  ]
}