Qlik Sense Spaces API
Manage spaces, which are logical containers within a tenant that control access for users and groups through role-based assignments.
Manage spaces, which are logical containers within a tenant that control access for users and groups through role-based assignments.
openapi: 3.1.0
info:
title: Qlik Cloud REST Apps Spaces API
description: REST API for Qlik Cloud platform services including apps, spaces, and reloads. Provides programmatic access to manage analytics applications, organize resources into spaces with access control, and trigger data reloads. Authentication is performed via OAuth 2.0 bearer tokens or API keys issued from a Qlik Cloud tenant.
version: 1.0.0
contact:
name: Qlik Developer Relations
email: developer@qlik.com
url: https://qlik.dev
license:
name: Qlik Terms of Use
url: https://www.qlik.com/us/legal/terms-of-use
x-logo:
url: https://www.qlik.com/us/-/media/images/qlik/global/qlik-logo.png
servers:
- url: https://{tenant}.{region}.qlikcloud.com/api/v1
description: Qlik Cloud tenant
variables:
tenant:
default: your-tenant
description: The name of your Qlik Cloud tenant
region:
default: us
description: The region of your Qlik Cloud deployment
enum:
- us
- eu
- ap
- uk
security:
- bearerAuth: []
- apiKey: []
tags:
- name: Spaces
description: Manage spaces, which are logical containers within a tenant that control access for users and groups through role-based assignments.
externalDocs:
url: https://qlik.dev/apis/rest/spaces
paths:
/spaces:
get:
operationId: listSpaces
summary: List spaces
description: Retrieves spaces that the current user has access to. Supports filtering by type, name, and owner.
tags:
- Spaces
parameters:
- name: action
in: query
description: Filter by action the user has access to.
schema:
type: string
- name: limit
in: query
description: Maximum number of spaces to return.
schema:
type: integer
minimum: 1
maximum: 100
default: 10
- name: name
in: query
description: Filter by space name.
schema:
type: string
- name: next
in: query
description: Cursor for next page of results.
schema:
type: string
- name: ownerId
in: query
description: Filter by owner identifier.
schema:
type: string
- name: prev
in: query
description: Cursor for previous page of results.
schema:
type: string
- name: sort
in: query
description: Sort field and order.
schema:
type: string
- name: type
in: query
description: Filter by space type.
schema:
type: string
enum:
- shared
- managed
- data
responses:
'200':
description: Spaces returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceList'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
post:
operationId: createSpace
summary: Create a space
description: Creates a new shared, managed, or data space.
tags:
- Spaces
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceCreate'
responses:
'201':
description: Space created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'409':
description: Conflict. A space with this name already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
$ref: '#/components/responses/InternalServerError'
/spaces/{spaceId}:
parameters:
- $ref: '#/components/parameters/SpaceId'
get:
operationId: getSpace
summary: Retrieve a space
description: Retrieves a specific space by its identifier.
tags:
- Spaces
responses:
'200':
description: Space returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
operationId: updateSpace
summary: Update a space
description: Updates the properties of a specific space.
tags:
- Spaces
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceUpdate'
responses:
'200':
description: Space updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
patch:
operationId: patchSpace
summary: Patch space properties
description: Updates specific properties of a space using JSON Patch operations on /name, /ownerId, and /description.
tags:
- Spaces
requestBody:
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/JsonPatch'
responses:
'200':
description: Space patched successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
operationId: deleteSpace
summary: Delete a space
description: Deletes a specific space by its identifier.
tags:
- Spaces
responses:
'204':
description: Space deleted successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/spaces/{spaceId}/assignments:
parameters:
- $ref: '#/components/parameters/SpaceId'
get:
operationId: listSpaceAssignments
summary: List space assignments
description: Retrieves all user and group role assignments for a specific space.
tags:
- Spaces
responses:
'200':
description: Assignments returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceAssignmentList'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
post:
operationId: createSpaceAssignment
summary: Assign user or group to space
description: Creates a new role assignment for a user or group in a space.
tags:
- Spaces
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceAssignmentCreate'
responses:
'201':
description: Assignment created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceAssignment'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/spaces/{spaceId}/assignments/{assignmentId}:
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/AssignmentId'
get:
operationId: getSpaceAssignment
summary: Retrieve a space assignment
description: Retrieves a specific assignment by its identifier.
tags:
- Spaces
responses:
'200':
description: Assignment returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceAssignment'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
operationId: updateSpaceAssignment
summary: Update a space assignment
description: Updates the role for an existing space assignment.
tags:
- Spaces
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- role
properties:
role:
type: string
description: The new role for the assignment.
enum:
- consumer
- contributor
- dataconsumer
- facilitator
- manager
- operator
- producer
- publisher
- basicconsumer
responses:
'200':
description: Assignment updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/SpaceAssignment'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
operationId: deleteSpaceAssignment
summary: Delete a space assignment
description: Removes a user or group assignment from the space.
tags:
- Spaces
responses:
'204':
description: Assignment deleted successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/spaces/types:
get:
operationId: listSpaceTypes
summary: List space types
description: Retrieves the available space types for the tenant.
tags:
- Spaces
responses:
'200':
description: Space types returned successfully.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
type:
type: string
description: The space type name.
description:
type: string
description: Description of the space type.
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
SpaceList:
type: object
description: Paginated list of spaces.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Space'
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
next:
type: object
properties:
href:
type: string
prev:
type: object
properties:
href:
type: string
SpaceUpdate:
type: object
description: Payload to update an existing space.
properties:
name:
type: string
description: The updated name for the space.
ownerId:
type: string
description: The identifier of the new owner.
description:
type: string
description: The updated description.
SpaceCreate:
type: object
description: Payload to create a new space.
required:
- name
- type
properties:
name:
type: string
description: The name of the space.
type:
type: string
description: The type of space to create.
enum:
- shared
- managed
- data
description:
type: string
description: The description of the space.
Space:
type: object
description: Represents a space in Qlik Cloud.
properties:
id:
type: string
description: The unique identifier of the space.
name:
type: string
description: The name of the space.
type:
type: string
description: The type of the space.
enum:
- shared
- managed
- data
description:
type: string
description: The description of the space.
ownerId:
type: string
description: The identifier of the space owner.
tenantId:
type: string
description: The identifier of the tenant the space belongs to.
createdAt:
type: string
format: date-time
description: When the space was created.
createdBy:
type: string
description: The identifier of the user who created the space.
updatedAt:
type: string
format: date-time
description: When the space was last updated.
meta:
type: object
description: Metadata about the space.
properties:
roles:
type: array
items:
type: string
description: The roles the current user has on this space.
actions:
type: array
items:
type: string
description: The actions the current user can perform on this space.
assignableRoles:
type: array
items:
type: string
description: Roles that can be assigned in this space.
links:
type: object
properties:
self:
type: object
properties:
href:
type: string
assignments:
type: object
properties:
href:
type: string
ErrorResponse:
type: object
description: Standard error response.
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: The error code.
title:
type: string
description: A short summary of the error.
detail:
type: string
description: A detailed error message.
status:
type: string
description: The HTTP status code as a string.
meta:
type: object
description: Additional error metadata.
additionalProperties: true
SpaceAssignmentList:
type: object
description: List of space assignments.
properties:
data:
type: array
items:
$ref: '#/components/schemas/SpaceAssignment'
JsonPatch:
type: object
description: A JSON Patch operation per RFC 6902.
required:
- op
- path
properties:
op:
type: string
description: The patch operation.
enum:
- add
- remove
- replace
path:
type: string
description: The JSON pointer to the target field.
value:
description: The value for the operation.
SpaceAssignment:
type: object
description: A role assignment for a user or group within a space.
properties:
id:
type: string
description: The unique identifier of the assignment.
type:
type: string
description: The type of assignee.
enum:
- user
- group
assigneeId:
type: string
description: The identifier of the assignee (user or group).
roles:
type: array
items:
type: string
description: The roles assigned.
spaceId:
type: string
description: The space this assignment belongs to.
tenantId:
type: string
description: The tenant identifier.
createdAt:
type: string
format: date-time
description: When the assignment was created.
createdBy:
type: string
description: Who created the assignment.
updatedAt:
type: string
format: date-time
description: When the assignment was last updated.
SpaceAssignmentCreate:
type: object
description: Payload to create a space role assignment.
required:
- type
- assigneeId
- roles
properties:
type:
type: string
description: The type of assignee.
enum:
- user
- group
assigneeId:
type: string
description: The identifier of the user or group.
roles:
type: array
items:
type: string
enum:
- consumer
- contributor
- dataconsumer
- facilitator
- manager
- operator
- producer
- publisher
- basicconsumer
description: The roles to assign.
responses:
Unauthorized:
description: Unauthorized. Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request. The request body or parameters are invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
InternalServerError:
description: Internal server error. An unexpected error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Not found. The requested resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Forbidden:
description: Forbidden. The user does not have permission for this operation.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
parameters:
AssignmentId:
name: assignmentId
in: path
required: true
description: The unique identifier of the space assignment.
schema:
type: string
SpaceId:
name: spaceId
in: path
required: true
description: The unique identifier of the space.
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 bearer token obtained from the Qlik Cloud tenant. Use the /oauth/token endpoint or interactive login to obtain a token.
apiKey:
type: apiKey
in: header
name: Authorization
description: API key generated from the Qlik Cloud Management Console. Passed in the Authorization header as Bearer <api-key>.
externalDocs:
description: Qlik Cloud REST API documentation
url: https://qlik.dev/apis/rest