Every API here is available over the APIs.io API and to AI agents over MCP.
{
"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"
}
}
}
]
}