Qlik Brands API
Brands allow you to apply tenant level branding across most user interfaces.
Brands allow you to apply tenant level branding across most user interfaces.
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/brands-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": "brands",
"version": ""
},
"paths": {
"/api/v1/brands": {
"get": {
"tags": [
"brands"
],
"summary": "List brands",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrandsList"
}
}
},
"description": "OK Response"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"in": "query",
"name": "endingBefore",
"schema": {
"type": "string"
},
"required": false,
"description": "Cursor to previous."
},
{
"in": "query",
"name": "limit",
"schema": {
"type": "integer",
"default": 5,
"maximum": 100,
"minimum": 1
},
"required": false,
"description": "Maximum number of brands to retrieve."
},
{
"in": "query",
"name": "sort",
"schema": {
"enum": [
"id",
"+id",
"-id",
"createdAt",
"+createdAt",
"-createdAt",
"updatedAt",
"+updatedAt",
"-updatedAt"
],
"type": "string",
"default": "-id"
},
"required": false,
"description": "Field to sort by, prefixed with -/+ to indicate the order."
},
{
"in": "query",
"name": "startingAfter",
"schema": {
"type": "string"
},
"required": false,
"description": "Cursor to the next page."
}
],
"description": "Lists all brand entries for a tenant.",
"operationId": "getBrands",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
},
"post": {
"tags": [
"brands"
],
"summary": "Create a new brand",
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Brand"
}
}
},
"description": "Created Response"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"description": "Creates a new brand.",
"operationId": "postBrands",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"logo": {
"type": "string",
"format": "binary",
"description": "The path and name of a JPG or PNG file that will be adjusted to fit in a 'box' measuring 109px in width and 62 px in height while maintaining aspect ratio. Maximum size of 300 KB, but smaller is recommended."
},
"name": {
"type": "string",
"description": "Name of the brand."
},
"styles": {
"type": "string",
"format": "binary",
"description": "The path and name of a JSON file to define brand style settings. Maximum size is 100 KB. This property is not currently operational."
},
"favIcon": {
"type": "string",
"format": "binary",
"description": "The path and name of a properly formatted ICO file. Maximum size is 100 KB."
},
"description": {
"type": "string",
"description": "Description of the brand."
}
}
},
"example": {
"logo": "image-file-content",
"name": "My brand",
"styles": "json-file-content",
"favIcon": "image-file-content",
"description": "Some brand description"
},
"encoding": {
"logo": {
"contentType": "image/png, image/jpeg"
},
"styles": {
"contentType": "application/json"
},
"favIcon": {
"contentType": "image/x-icon, image/vnd.microsoft.icon"
}
}
}
}
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/brands/{brand-id}": {
"get": {
"tags": [
"brands"
],
"summary": "Retrieve a brand",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Brand"
}
}
},
"description": "OK Response"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
}
],
"description": "Returns a specific brand.",
"operationId": "getBrandsByBrandId",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
},
"patch": {
"tags": [
"brands"
],
"summary": "Update a brand",
"responses": {
"204": {
"description": "No Content Response."
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
}
],
"description": "Patches a brand.",
"operationId": "patchBrandsByBrandId",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BrandPatch"
}
}
}
},
"required": true
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
},
"delete": {
"tags": [
"brands"
],
"summary": "Delete a brand",
"responses": {
"204": {
"description": "No Content Response."
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
}
],
"description": "Deletes a specific brand. If the active brand is deleted, the tenant will return to the Qlik default.",
"operationId": "deleteBrandsByBrandId",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/brands/{brand-id}/actions/activate": {
"post": {
"tags": [
"brands"
],
"summary": "Activate a brand",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Brand"
}
}
},
"description": "Responds with the brand that was activated."
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
}
],
"description": "Sets the brand active and de-activates any other active brand. If the brand is already active, no action is taken.",
"operationId": "postBrandsByBrandIdActionsActivate",
"requestBody": {
"content": {
"application/json": {}
}
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/brands/{brand-id}/actions/deactivate": {
"post": {
"tags": [
"brands"
],
"summary": "Deactivate a brand",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Brand"
}
}
},
"description": "Responds with the brand that was deactivated."
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
}
],
"description": "Sets the brand so it is no longer active, returning the tenant the Qlik default brand. If the brand is already inactive, no action is taken.",
"operationId": "postBrandsByBrandIdActionsDeactivate",
"requestBody": {
"content": {
"application/json": {}
}
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/brands/{brand-id}/files/{brand-file-id}": {
"get": {
"tags": [
"brands"
],
"summary": "Download brand file",
"responses": {
"200": {
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
},
"description": "OK Response"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"in": "header",
"name": "Accept",
"schema": {
"type": "string",
"default": "*/*"
},
"required": false,
"description": "Media type accepted for the downloaded brand file."
},
{
"$ref": "#/components/parameters/brand-id"
},
{
"$ref": "#/components/parameters/brand-file-id"
}
],
"description": "Downloads the specified brand file.",
"operationId": "getBrandsByBrandIdFilesByBrandFileId",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
},
"post": {
"tags": [
"brands"
],
"summary": "Creates a brand file",
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrandFile"
}
}
},
"description": "Created Response"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
},
{
"$ref": "#/components/parameters/brand-file-id"
}
],
"description": "Creates a brand file for the specified identifier.",
"operationId": "postBrandsByBrandIdFilesByBrandFileId",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "The path and name of a file to upload."
}
},
"additionalProperties": false
},
"encoding": {
"file": {
"contentType": "image/png, image/jpeg, image/x-icon, image/vnd.microsoft.icon, application/json"
}
}
}
},
"required": true
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
},
"put": {
"tags": [
"brands"
],
"summary": "Update a brand file",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrandFile"
}
}
},
"description": "OK Response - file updated"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
},
{
"$ref": "#/components/parameters/brand-file-id"
}
],
"description": "Updates the specified brand file.",
"operationId": "putBrandsByBrandIdFilesByBrandFileId",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "A file to upload."
}
},
"additionalProperties": false
},
"encoding": {
"file": {
"contentType": "image/png, image/jpeg, image/x-icon, image/vnd.microsoft.icon, application/json"
}
}
}
},
"required": true
},
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
},
"delete": {
"tags": [
"brands"
],
"summary": "Delete a brand file",
"responses": {
"204": {
"description": "No content response."
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"500": {
"$ref": "#/components/responses/InternalServerError"
}
},
"parameters": [
{
"$ref": "#/components/parameters/brand-id"
},
{
"$ref": "#/components/parameters/brand-file-id"
}
],
"description": "Deletes the specified brand file.",
"operationId": "deleteBrandsByBrandIdFilesByBrandFileId",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "2",
"limit": 100
}
}
},
"/api/v1/brands/active": {
"get": {
"tags": [
"brands"
],
"summary": "Retrieve active brand",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NoActiveBrand"
}
}
},
"description": "No active brand, returns an empty response."
},
"301": {
"description": "Successful redirect."
}
},
"description": "Returns the current active brand. If using the Qlik default brand, no value is returned.",
"operationId": "getBrandsActive",
"x-qlik-visibility": "public",
"x-qlik-stability": "stable",
"x-qlik-deprecated": false,
"x-qlik-tier": {
"tier": "1",
"limit": 1000
}
}
}
},
"openapi": "3.0.0",
"components": {
"parameters": {
"brand-file-id": {
"in": "path",
"name": "brand-file-id",
"schema": {
"enum": [
"logo",
"favIcon",
"styles"
],
"type": "string"
},
"required": true,
"description": "The unique identifier of a file within a brand."
},
"brand-id": {
"in": "path",
"name": "brand-id",
"schema": {
"type": "string"
},
"required": true,
"description": "The brand's unique identifier."
}
},
"responses": {
"BadRequest": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse400"
}
}
},
"description": "Bad Request"
},
"Forbidden": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse403"
}
}
},
"description": "Forbidden"
},
"InternalServerError": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse500"
}
}
},
"description": "Internal Server Error"
},
"NotFound": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse404"
}
}
},
"description": "Not found"
},
"Unauthorized": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse401"
}
}
},
"description": "Unauthorized"
}
},
"schemas": {
"Brand": {
"type": "object",
"required": [
"id",
"name",
"description",
"files"
],
"properties": {
"id": {
"type": "string",
"readOnly": true
},
"name": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BrandFile"
},
"description": "Collection of resources that make up the brand."
},
"active": {
"type": "boolean",
"readOnly": true
},
"createdAt": {
"type": "string",
"format": "date-time",
"example": "2024-01-01T00:00:00.000Z",
"readOnly": true,
"description": "The UTC timestamp when the brand was created."
},
"createdBy": {
"type": "string",
"readOnly": true,
"description": "ID of a user that created the brand."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"example": "2024-01-01T00:00:00.000Z",
"readOnly": true,
"description": "The UTC timestamp when the brand was last updated."
},
"updatedBy": {
"type": "string",
"readOnly": true,
"description": "ID of a user that last updated the brand."
},
"description": {
"type": "string"
}
},
"description": "A brand is a collection of assets for applying custom branding. Only a single brand can be active in a tenant."
},
"BrandFile": {
"type": "object",
"properties": {
"id": {
"enum": [
"logo",
"favIcon",
"styles"
],
"type": "string"
},
"eTag": {
"type": "string"
},
"path": {
"type": "string"
},
"contentType": {
"type": "string"
}
},
"description": "Represents one of the assets used as part of the brand. These include logos, favicons, and some styles."
},
"BrandPatch": {
"type": "object",
"required": [
"op",
"path"
],
"properties": {
"op": {
"enum": [
"add",
"remove",
"replace"
],
"type": "string",
"description": "The operation to be performed."
},
"path": {
"enum": [
"/name",
"/description"
],
"type": "string",
"example": "/description",
"description": "The path for the given resource field to patch."
},
"value": {
"type": "string",
"description": "The value to be used for this operation."
}
},
"description": "A JSON Patch document as defined in https://datatracker.ietf.org/doc/html/rfc6902."
},
"BrandsList": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Brand"
}
},
"links": {
"properties": {
"next": {
"$ref": "#/components/schemas/Link"
},
"prev": {
"$ref": "#/components/schemas/Link"
},
"self": {
"$ref": "#/components/schemas/Link"
}
}
}
},
"description": "A collection of brands."
},
"ErrorResponse400": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "HTTP-400"
},
"title": {
"type": "string",
"example": "Bad request"
},
"detail": {
"type": "string",
"example": "The request is incorrect."
}
}
}
},
"traceId": {
"type": "string"
}
}
},
"ErrorResponse401": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "HTTP-401"
},
"title": {
"type": "string",
"example": "Unauthorized"
},
"detail": {
"type": "string",
"example": "The user is not authorized to access the service."
}
}
}
},
"traceId": {
"type": "string"
}
}
},
"ErrorResponse403": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "HTTP-403"
},
"title": {
"type": "string",
"example": "Forbidden"
},
"detail": {
"type": "string",
"example": "You don't have sufficient permissions to access this resource."
}
}
}
},
"traceId": {
"type": "string"
}
}
},
"ErrorResponse404": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "HTTP-404"
},
"title": {
"type": "string",
"example": "Not found"
},
"detail": {
"type": "string",
"example": "The resource was not found."
}
}
}
},
"traceId": {
"type": "string"
}
}
},
"ErrorResponse500": {
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"example": "HTTP-500"
},
"title": {
"type": "string",
"example": "Internal Server Error"
},
"detail": {
"type": "string",
"example": "Something went wrong in the server."
}
}
}
},
"traceId": {
"type": "string"
}
}
},
"Link": {
"required": [
"href"
],
"properties": {
"href": {
"type": "string",
"description": "URL of a resource request."
}
}
},
"NoActiveBrand": {
"type": "object",
"description": "Empty object inferring lack of active branding."
}
}
},
"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"
}
}
}
]
}