Qlik Tenants API
Configure and manage Qlik Cloud tenants including settings, licenses, and administrative operations.
Configure and manage Qlik Cloud tenants including settings, licenses, and administrative operations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/tenants-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
{
"info": {
"title": "tenants",
"version": ""
},
"paths": {
"/api/v1/tenants": {
"post": {
"tags": [
"tenants"
],
"summary": "Create a tenant",
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Tenant"
}
}
},
"description": "Tenant created."
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
},
"examples": {
"MissingLicenseKeyProperty": {
"value": {
"errors": [
{
"code": "TENANTS-21",
"title": "Missing licenseKey property",
"status": "400"
}
]
}
}
}
}
},
"description": "Invalid request was made."
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
},
"examples": {
"InvalidLicense": {
"value": {
"errors": [
{
"code": "TENANTS-23",
"title": "Invalid license error",
"status": "403"
}
]
}
},
"LicenseQuotaLimitReached": {
"value": {
"errors": [
{
"code": "TENANTS-22",
"title": "License quota limit reached",
"status": "403"
}
]
}
}
}
}
},
"description": "Invalid request was made."
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
},
"examples": {
"InternalServerError": {
"value": {
"errors": [
{
"code": "TENANTS-24",
"title": "Internal server error",
"status": "500"
}
]
}
}
}
}
},
"description": "Internal server error"
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Unexpected error."
}
},
"description": "Creates a tenant in the requested region, linked to the provided license key. You must use a regional OAuth client generated via the [My Qlik portal](https://account.myqlik.qlik.com/account) to call this endpoint. Tenant creation, deactivation, and reactivation requests must be sent to the register endpoint in the relevant Qlik Cloud region, e.g. `https://register.us.qlikcloud.com/api/v1/tenants` if interacting with tenants in the `us` region.",
"operationId": "createTenant",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantCreationRequest"
}
}
},
"required": true
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/tenants/{tenantId}": {
"get": {
"tags": [
"tenants"
],
"summary": "Get a tenant",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Tenant"
}
}
},
"description": "Tenant found."
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Tenant not found."
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Unexpected error"
}
},
"parameters": [
{
"in": "path",
"name": "tenantId",
"schema": {
"type": "string",
"format": "uid",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69"
},
"required": true,
"description": "The ID of the tenant to retrieve"
}
],
"description": "Retrieves a specific tenant by ID.",
"operationId": "getTenantById",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
},
"patch": {
"tags": [
"tenants"
],
"summary": "Update a tenant",
"responses": {
"204": {
"description": "Tenant updated successfully"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantPatchErrors"
}
}
},
"description": "Invalid PATCH request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Tenant not found."
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Request has been rate limited."
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Unexpected error"
}
},
"parameters": [
{
"in": "path",
"name": "tenantId",
"schema": {
"type": "string",
"format": "uid",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69"
},
"required": true,
"description": "The ID of the tenant to update"
}
],
"description": "Updates properties of a specific tenant by ID.",
"operationId": "updateTenantById",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantPatchSchema"
}
}
},
"required": true
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/tenants/{tenantId}/actions/deactivate": {
"post": {
"tags": [
"tenants"
],
"summary": "Deactivate a tenant",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantDeactivateResponse"
}
}
},
"description": "Tenant deactivated successfully"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Invalid request"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Tenant Not Found"
},
"412": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Precondition Failed (invalid qlik-confirm-hostname value)"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Request has been rate limited."
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Unexpected error"
}
},
"parameters": [
{
"in": "path",
"name": "tenantId",
"schema": {
"type": "string",
"format": "uid",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69"
},
"required": true,
"description": "The id of the tenant to deactivate"
},
{
"in": "header",
"name": "qlik-confirm-hostname",
"schema": {
"type": "string",
"format": "hostname",
"example": "unicorn.eu.qlikcloud.com"
},
"required": true,
"description": "A confirmation string that should match the hostname associated with the tenant resource to be deactivated. Example: unicorn.eu.qlikcloud.com"
}
],
"description": "Deactivates a specific tenant. Once deactivated, tenant will be deleted on or after `estimatedPurgeDate`. Tenant can be reactivated using `/v1/tenants/{tenantId}/actions/reactivate` until this date. You must use a regional OAuth client generated via the [My Qlik portal](https://account.myqlik.qlik.com/account) to call this endpoint. Tenant creation, deactivation, and reactivation requests must be sent to the register endpoint in the relevant Qlik Cloud region, e.g. `https://register.us.qlikcloud.com/api/v1/tenants/{tenantId}/actions/deactivate` if interacting with tenants in the `us` region.",
"operationId": "deactivateTenantById",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TenantDeactivateRequest"
}
}
}
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/tenants/{tenantId}/actions/reactivate": {
"post": {
"tags": [
"tenants"
],
"summary": "Reactivate a tenant",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"description": "Tenant reactivated successfully"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Forbidden"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Not Found"
},
"412": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Precondition Failed (invalid qlik-confirm-hostname value)"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Request has been rate limited."
},
"default": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Errors"
}
}
},
"description": "Unexpected error"
}
},
"parameters": [
{
"in": "path",
"name": "tenantId",
"schema": {
"type": "string",
"format": "uid",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69"
},
"required": true,
"description": "The id of the tenant to reactivate"
},
{
"in": "header",
"name": "qlik-confirm-hostname",
"schema": {
"type": "string",
"example": "unicorn.us.qlikcloud.com"
},
"required": true,
"description": "A confirmation string that should match one of the hostnames of the tenant resource to be reactivated. Example: unicorn.eu.qlikcloud.com"
}
],
"description": "Reactivates a deactivated tenant. Tenants can be reactivated until the `estimatedPurgeDate` provided at time of deactivation. You must use a regional OAuth client generated via the [My Qlik portal](https://account.myqlik.qlik.com/account) to call this endpoint. Tenant creation, deactivation, and reactivation requests must be sent to the register endpoint in the relevant Qlik Cloud region, e.g. `https://register.us.qlikcloud.com/api/v1/tenants/{tenantId}/actions/reactivate` if interacting with tenants in the `us` region.",
"operationId": "reactivateTenantById",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/tenants/me": {
"get": {
"tags": [
"tenants"
],
"summary": "Redirect to current tenant",
"responses": {
"302": {
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
},
"headers": {
"Location": {
"schema": {
"type": "string"
}
}
},
"description": "Successful redirect."
}
},
"description": "Redirects to current tenant.",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
}
}
},
"openapi": "3.0.0",
"components": {
"schemas": {
"Error": {
"type": "object",
"required": [
"code",
"status",
"title"
],
"properties": {
"code": {
"type": "string",
"description": "The error code."
},
"meta": {
"type": "object",
"description": "Additional properties relating to the error."
},
"title": {
"type": "string",
"description": "Summary of the problem."
},
"detail": {
"type": "string",
"description": "A human-readable explanation specific to this occurrence of the error."
},
"source": {
"type": "object",
"properties": {
"pointer": {
"type": "string",
"description": "A JSON Pointer to the property that caused the error."
},
"parameter": {
"type": "string",
"description": "The URI query parameter that caused the error."
}
},
"description": "References to the source of the error."
},
"status": {
"type": "string",
"description": "The HTTP status code."
}
},
"description": "An error object describing the error."
},
"Errors": {
"type": "object",
"example": {
"errors": [
{
"code": "TENANTS-8",
"title": "Not found",
"status": 404
}
],
"traceId": "000000000000000079cf1ebeae103de1"
},
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Error"
},
"description": "An array of errors related to the operation."
},
"traceId": {
"type": "string",
"description": "A unique identifier for tracing the error."
}
},
"description": "The error response object describing the error from the handling of an HTTP request."
},
"Tenant": {
"type": "object",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uid",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
"readOnly": true,
"description": "The unique tenant identifier.",
"x-qlik-visibility": "public"
},
"name": {
"type": "string",
"example": "QlikTenant",
"description": "The display name of the tenant."
},
"links": {
"type": "object",
"readOnly": true,
"required": [
"self"
],
"properties": {
"self": {
"type": "object",
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"example": "http://foo.example/api/v1/tenants/TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
"description": "URL that defines the resource."
}
},
"description": "A link to this tenant."
}
}
},
"region": {
"type": "string",
"example": "us",
"readOnly": true,
"description": "The region where the tenant is located."
},
"status": {
"enum": [
"active",
"disabled",
"deleted",
"user-access-disabled"
],
"type": "string",
"description": "The status of the tenant."
},
"created": {
"type": "string",
"format": "date",
"readOnly": true,
"description": "The timestamp for when the tenant record was created (1970-01-01T00:00:00.001Z for static tenants)."
},
"hostnames": {
"type": "array",
"items": {
"type": "string",
"example": "foo.example"
},
"description": "List of case insensitive hostnames that are mapped to the tenant. The first record maps to the display name and the subsequent entries are aliases."
},
"datacenter": {
"type": "string",
"example": "us-east-1",
"description": "The datacenter where the tenant is located."
},
"lastUpdated": {
"type": "string",
"format": "date",
"readOnly": true,
"description": "The timestamp for when the tenant record was last updated (1970-01-01T00:00:00.001Z for static tenants)."
},
"createdByUser": {
"type": "string",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy7A",
"description": "The user ID who created the tenant."
},
"statusLastUpdatedAt": {
"type": "string",
"format": "date-time",
"example": "2023-08-18T12:34:56.789Z",
"readOnly": true,
"description": "The timestamp for when the tenant status was last changed."
},
"enableAnalyticCreation": {
"type": "boolean",
"default": false,
"x-qlik-deprecated": true,
"x-qlik-deprecated-sunset": "2027-03",
"x-qlik-deprecated-version": "2026-03",
"x-qlik-deprecated-description": "enableAnalyticCreation is deprecated and will be removed in a future version."
},
"enableAppOpeningFeedback": {
"type": "boolean",
"default": false
},
"autoAssignCreateSharedSpacesRoleToProfessionals": {
"type": "boolean",
"default": true
},
"autoAssignDataServicesContributorRoleToProfessionals": {
"type": "boolean",
"default": true
},
"autoAssignPrivateAnalyticsContentCreatorRoleToProfessionals": {
"type": "boolean",
"default": true
}
}
},
"TenantCreationRequest": {
"type": "object",
"properties": {
"datacenter": {
"type": "string",
"example": "us-east-1",
"description": "The datacenter where the tenant is located.\n\nSupported locations for commercial licenses:\n- `ap-northeast-1`: Japan (jp)\n- `ap-southeast-1`: Australia (ap)\n- `ap-southeast-2`: Singapore (sg)\n- `eu-central-1`: Germany (de)\n- `eu-west-1`: Ireland (eu)\n- `eu-west-2`: United Kingdom (uk)\n- `us-east-1`: United States of America (us)\n"
},
"licenseKey": {
"type": "string",
"example": 1234567890,
"description": "The signed license key of the license that will be associated with the created tenant."
}
}
},
"TenantDeactivateRequest": {
"type": "object",
"properties": {
"purgeAfterDays": {
"type": "integer",
"default": 30,
"maximum": 90,
"minimum": 10,
"description": "Sets the number of days to purge the tenant after deactivation. Only available to OEMs."
}
},
"description": "A request to deactivate a tenant."
},
"TenantDeactivateResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uid",
"example": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
"readOnly": true,
"description": "The unique tenant identifier."
},
"status": {
"enum": [
"disabled"
],
"type": "string",
"description": "The status of the tenant."
},
"estimatedPurgeDate": {
"type": "string",
"format": "date-time",
"example": "2023-08-18T00:00:00.000Z",
"description": "The estimated date time of when tenant will be purged."
}
},
"description": "The result of tenant deactivation."
},
"TenantMultipleMetaErrorsDetail": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TenantSingleMetaErrorDetail"
}
},
"TenantPatchErrors": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"title"
],
"properties": {
"code": {
"type": "string",
"example": "TENANTS-10",
"description": "The error code."
},
"meta": {
"oneOf": [
{
"$ref": "#/components/schemas/TenantSingleMetaErrorDetail"
},
{
"$ref": "#/components/schemas/TenantMultipleMetaErrorsDetail"
}
]
},
"title": {
"type": "string",
"example": "Invalid PATCH request",
"description": "Summary of the problem."
},
"source": {
"type": "object",
"properties": {
"pointer": {
"type": "string",
"example": "/hostnames/1",
"description": "A JSON Pointer to the property that caused the error."
},
"parameter": {
"type": "string",
"description": "The URI query parameter that caused the error."
}
},
"description": "References to the source of the error."
}
},
"description": "An error object."
}
}
}
},
"TenantPatchSchema": {
"type": "array",
"items": {
"type": "object",
"required": [
"op",
"path",
"value"
],
"properties": {
"op": {
"enum": [
"replace"
],
"type": "string",
"description": "The operation to be performed."
},
"path": {
"enum": [
"/name",
"/hostnames/1",
"/autoAssignCreateSharedSpacesRoleToProfessionals",
"/autoAssignPrivateAnalyticsContentCreatorRoleToProfessionals",
"/autoAssignDataServicesContributorRoleToProfessionals",
"/enableAnalyticCreation",
"/enableAppOpeningFeedback"
],
"type": "string",
"description": "A JSON Pointer value that references a location within the target document where the operation is performed."
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "boolean"
}
],
"description": "The value to be used for this operation."
}
},
"description": "A JSON Patch document as defined in http://tools.ietf.org/html/rfc6902."
},
"example": [
{
"op": "replace",
"path": "/name",
"value": "Corp"
},
{
"op": "replace",
"path": "/hostnames/1",
"value": "example-tenant.us.qlikcloud.com"
},
{
"op": "replace",
"path": "/autoAssignCreateSharedSpacesRoleToProfessionals",
"value": true
},
{
"op": "replace",
"path": "/autoAssignPrivateAnalyticsContentCreatorRoleToProfessionals",
"value": false
},
{
"op": "replace",
"path": "/autoAssignDataServicesContributorRoleToProfessionals",
"value": true
},
{
"op": "replace",
"path": "/enableAnalyticCreation",
"value": false
}
]
},
"TenantSingleMetaErrorDetail": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "TENANTS-10",
"description": "The error code."
},
"title": {
"type": "string",
"example": "Subdomain should be between 3 and 63 characters",
"description": "The error summary."
}
}
}
}
},
"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"
}
}
}
]
}