Spaces
Spaces is a central concept in the Qlik platform and is used to control access to various other resources in the system.
Endpoints
Skip to sectionGET | /v1/spaces |
POST | /v1/spaces |
GET | /v1/spaces/{spaceId} |
PATCH | /v1/spaces/{spaceId} |
PUT | /v1/spaces/{spaceId} |
DELETE | /v1/spaces/{spaceId} |
GET | /v1/spaces/{spaceId}/assignments |
POST | /v1/spaces/{spaceId}/assignments |
GET | /v1/spaces/{spaceId}/assignments/{assignmentId} |
PUT | /v1/spaces/{spaceId}/assignments/{assignmentId} |
DELETE | /v1/spaces/{spaceId}/assignments/{assignmentId} |
GET | /v1/spaces/types |
Retrieves spaces that the current user has access to and match the query.
Facts GET /v1/spaces
Rate limit required | Tier 1 (1000 requests per minute) |
Query Parameters GET /v1/spaces
action string | Action on space. Supports only "?action=publish". |
filter string | Exact match filtering on space name using SCIM. Case insensitive on attribute name. For example ?filter=name eq "MySpace" and ?filter=NAME eq "MySpace" is both valid. |
limit default=10 integer<int32> | Maximum number of spaces to return. |
name string | Space name to search and filter for. Case-insensitive open search with wildcards both as prefix and suffix. For example, "?name=fin" will get "finance", "Final" and "Griffin". |
next string | The next page cursor. Next links make use of this. |
ownerId string | Space ownerId to filter by. For example, "?ownerId=123". |
prev string | The previous page cursor. Previous links make use of this. |
sort string | Field to sort by. Prefix with +/- to indicate asc/desc. For example, "?sort=+name" to sort ascending on Name. Supported fields are "type", "name" and "createdAt". |
type string | Type(s) of space to filter. For example, "?type=managed,shared". |
Responses GET /v1/spaces
200 application/json | Spaces retrieved. |
400 application/json | Bad request |
401 application/json | Unauthorized, JWT invalid or not provided. |
500 application/json | Internal server error. |
GET/v1/spaces
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/spaces
{
"data": [
{
"id": "string",
"meta": {
"roles": [],
"actions": [],
"assignableRoles": {
"enum": [
"facilitator",
"consumer",
"producer",
"dataconsumer",
"codeveloper"
],
"type": "string",
"description": "The supported roles for Shared spaces.",
"dereferenced": "#/definitions/SharedSpaceRoleType"
}
},
"name": "string",
"type": "shared",
"links": {
"self": {
"href": "string"
},
"assignments": {
"href": "string"
}
},
"ownerId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"description": "string"
}
],
"meta": {
"count": 0,
"personalSpace": {
"actions": [],
"resourceType": "string"
}
},
"links": {
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"self": {
"href": "string"
}
}
}
Creates a space.
Facts POST /v1/spaces
Rate limit required | Tier 2 (100 requests per minute) |
Request Body POST /v1/spaces
application/json | Attributes that the user wants to set for a new space. |
Responses POST /v1/spaces
201 application/json | Space created. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Space create operation denied. |
409 application/json | Space already exists. |
500 application/json | Internal server error. |
POST/v1/spaces
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"name":"string","type":"shared","description":"string"}'
Request POST /v1/spaces
{
"name": "string",
"type": "shared",
"description": "string"
}
Response POST /v1/spaces
{
"id": "string",
"meta": {
"roles": [],
"actions": [],
"assignableRoles": {
"enum": [
"facilitator",
"consumer",
"producer",
"dataconsumer",
"codeveloper"
],
"type": "string",
"description": "The supported roles for Shared spaces.",
"dereferenced": "#/definitions/SharedSpaceRoleType"
}
},
"name": "string",
"type": "shared",
"links": {
"self": {
"href": "string"
},
"assignments": {
"href": "string"
}
},
"ownerId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"description": "string"
}
Retrieves a single space by ID.
Facts GET /v1/spaces/{spaceId}
Rate limit required | Tier 1 (1000 requests per minute) |
Path Parameters GET /v1/spaces/{spaceId}
spaceId required string<uid> | The ID of the space to retrieve. |
Responses GET /v1/spaces/{spaceId}
200 application/json | Space retrieved. |
401 application/json | Unauthorized, JWT invalid or not provided. |
404 application/json | Space not found or access denied. |
429 application/json | Too many repetetive requests. |
500 application/json | Internal server error. |
GET/v1/spaces/{spaceId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/spaces/{spaceId}
{
"id": "string",
"meta": {
"roles": [],
"actions": [],
"assignableRoles": {
"enum": [
"facilitator",
"consumer",
"producer",
"dataconsumer",
"codeveloper"
],
"type": "string",
"description": "The supported roles for Shared spaces.",
"dereferenced": "#/definitions/SharedSpaceRoleType"
}
},
"name": "string",
"type": "shared",
"links": {
"self": {
"href": "string"
},
"assignments": {
"href": "string"
}
},
"ownerId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"description": "string"
}
Patches (updates) a space (partially).
Facts PATCH /v1/spaces/{spaceId}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters PATCH /v1/spaces/{spaceId}
spaceId required string<uid> | The ID of the space to update. |
Request Body PATCH /v1/spaces/{spaceId}
application/json | Attribute that the user wants to patch (update) for the specified space. |
Responses PATCH /v1/spaces/{spaceId}
200 application/json | Space patched (updated). |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Space patch (update) operation denied. |
404 application/json | Space not found or access denied. |
500 application/json | Internal server error. |
PATCH/v1/spaces/{spaceId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}" \
-X PATCH \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"op":"replace","path":"/name","value":"string"}'
Request PATCH /v1/spaces/{spaceId}
{
"op": "replace",
"path": "/name",
"value": "string"
}
Response PATCH /v1/spaces/{spaceId}
{
"id": "string",
"meta": {
"roles": [],
"actions": [],
"assignableRoles": {
"enum": [
"facilitator",
"consumer",
"producer",
"dataconsumer",
"codeveloper"
],
"type": "string",
"description": "The supported roles for Shared spaces.",
"dereferenced": "#/definitions/SharedSpaceRoleType"
}
},
"name": "string",
"type": "shared",
"links": {
"self": {
"href": "string"
},
"assignments": {
"href": "string"
}
},
"ownerId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"description": "string"
}
Updates a space.
Facts PUT /v1/spaces/{spaceId}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters PUT /v1/spaces/{spaceId}
spaceId required string<uid> | The ID of the space to update. |
Request Body PUT /v1/spaces/{spaceId}
application/json | Attributes that the user wants to update for the specified space. |
Responses PUT /v1/spaces/{spaceId}
200 application/json | Space updated. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Space update operation denied. |
404 application/json | Space not found or access denied. |
500 application/json | Internal server error. |
PUT/v1/spaces/{spaceId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}" \
-X PUT \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"name":"string","ownerId":"string","description":"string"}'
Request PUT /v1/spaces/{spaceId}
{
"name": "string",
"ownerId": "string",
"description": "string"
}
Response PUT /v1/spaces/{spaceId}
{
"id": "string",
"meta": {
"roles": [],
"actions": [],
"assignableRoles": {
"enum": [
"facilitator",
"consumer",
"producer",
"dataconsumer",
"codeveloper"
],
"type": "string",
"description": "The supported roles for Shared spaces.",
"dereferenced": "#/definitions/SharedSpaceRoleType"
}
},
"name": "string",
"type": "shared",
"links": {
"self": {
"href": "string"
},
"assignments": {
"href": "string"
}
},
"ownerId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"description": "string"
}
Deletes a space.
Facts DELETE /v1/spaces/{spaceId}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters DELETE /v1/spaces/{spaceId}
spaceId required string<uid> | The ID of the space to delete. |
Responses DELETE /v1/spaces/{spaceId}
204 object | Space deleted. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Space delete operation denied. |
404 application/json | Space not found or access denied. |
412 application/json | Space delete precondition (space not empty) failed. |
500 application/json | Internal server error. |
DELETE/v1/spaces/{spaceId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}" \
-X DELETE \
-H "Authorization: Bearer <API-key>"
Retrieves the assignments of the space matching the query.
Facts GET /v1/spaces/{spaceId}/assignments
Rate limit required | Tier 1 (1000 requests per minute) |
Path Parameters GET /v1/spaces/{spaceId}/assignments
spaceId required string<uid> | The ID of the space of the assignment. |
Query Parameters GET /v1/spaces/{spaceId}/assignments
limit default=10 integer<int32> | Maximum number of assignments to return. |
next string | The next page cursor. Next links make use of this. |
prev string | The previous page cursor. Previous links make use of this. |
type | The type of assignment. |
Responses GET /v1/spaces/{spaceId}/assignments
200 application/json | Assignments retrieved. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Assignments retrieve operation denied. |
404 application/json | Space not found or access denied. |
500 application/json | Internal server error. |
GET/v1/spaces/{spaceId}/assignments
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}/assignments" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/spaces/{spaceId}/assignments
{
"data": [
{
"id": "string",
"type": "user",
"links": {
"self": {
"href": "string"
},
"space": {
"href": "string"
}
},
"roles": [],
"spaceId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"updatedBy": "string",
"assigneeId": "string"
}
],
"meta": {
"count": 0
},
"links": {
"next": {
"href": "string"
},
"prev": {
"href": "string"
},
"self": {
"href": "string"
}
}
}
Creates an assignment.
Facts POST /v1/spaces/{spaceId}/assignments
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters POST /v1/spaces/{spaceId}/assignments
spaceId required string<uid> | The ID of the space of the assignment. |
Request Body POST /v1/spaces/{spaceId}/assignments
application/json | Attributes that the user wants to set for the assignment for the space. |
Responses POST /v1/spaces/{spaceId}/assignments
201 application/json | Assignment created. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Assignment create operation denied. |
404 application/json | Space not found or access denied. |
409 application/json | Assignment already exists. |
500 application/json | Internal server error. |
POST/v1/spaces/{spaceId}/assignments
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}/assignments" \
-X POST \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"type":"user","roles":[],"assigneeId":"string"}'
Request POST /v1/spaces/{spaceId}/assignments
{
"type": "user",
"roles": [],
"assigneeId": "string"
}
Response POST /v1/spaces/{spaceId}/assignments
{
"id": "string",
"type": "user",
"links": {
"self": {
"href": "string"
},
"space": {
"href": "string"
}
},
"roles": [],
"spaceId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.958Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.958Z",
"updatedBy": "string",
"assigneeId": "string"
}
Retrieves a single assignment by ID.
Facts GET /v1/spaces/{spaceId}/assignments/{assignmentId}
Rate limit required | Tier 1 (1000 requests per minute) |
Path Parameters GET /v1/spaces/{spaceId}/assignments/{assignmentId}
assignmentId required string<uid> | The ID of the assignment to retrieve. |
spaceId required string<uid> | The ID of the space of the assignment. |
Responses GET /v1/spaces/{spaceId}/assignments/{assignmentId}
200 application/json | Assignment retrieved. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Assignment retrieve operation denied. |
404 application/json | Space not found or access denied or assignment not found. |
500 application/json | Internal server error. |
GET/v1/spaces/{spaceId}/assignments/{assignmentId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}/assignments/{assignmentId}" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/spaces/{spaceId}/assignments/{assignmentId}
{
"id": "string",
"type": "user",
"links": {
"self": {
"href": "string"
},
"space": {
"href": "string"
}
},
"roles": [],
"spaceId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.959Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.959Z",
"updatedBy": "string",
"assigneeId": "string"
}
Updates a single assignment by ID. The complete list of roles must be provided.
Facts PUT /v1/spaces/{spaceId}/assignments/{assignmentId}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters PUT /v1/spaces/{spaceId}/assignments/{assignmentId}
assignmentId required string<uid> | The ID of the assignment to update. |
spaceId required string<uid> | The ID of the space of the assignment. |
Request Body PUT /v1/spaces/{spaceId}/assignments/{assignmentId}
application/json | Attributes that the user wants to update for the specified assignment. |
Responses PUT /v1/spaces/{spaceId}/assignments/{assignmentId}
200 application/json | Assignment updated. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Assignment update operation denied. |
404 application/json | Space not found or access denied. |
500 application/json | Internal server error. |
PUT/v1/spaces/{spaceId}/assignments/{assignmentId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}/assignments/{assignmentId}" \
-X PUT \
-H "Authorization: Bearer <API-key>" \
-H "Content-type: application/json" \
-d '{"roles":[]}'
Request PUT /v1/spaces/{spaceId}/assignments/{assignmentId}
{
"roles": []
}
Response PUT /v1/spaces/{spaceId}/assignments/{assignmentId}
{
"id": "string",
"type": "user",
"links": {
"self": {
"href": "string"
},
"space": {
"href": "string"
}
},
"roles": [],
"spaceId": "string",
"tenantId": "string",
"createdAt": "2023-11-29T00:09:33.959Z",
"createdBy": "string",
"updatedAt": "2023-11-29T00:09:33.959Z",
"updatedBy": "string",
"assigneeId": "string"
}
Deletes an assignment.
Facts DELETE /v1/spaces/{spaceId}/assignments/{assignmentId}
Rate limit required | Tier 2 (100 requests per minute) |
Path Parameters DELETE /v1/spaces/{spaceId}/assignments/{assignmentId}
assignmentId required string<uid> | The ID of the assignment to delete. |
spaceId required string<uid> | The ID of the space of the assignment. |
Responses DELETE /v1/spaces/{spaceId}/assignments/{assignmentId}
204 object | Assignment deleted. |
401 application/json | Unauthorized, JWT invalid or not provided. |
403 application/json | Assignment delete operation denied. |
404 application/json | Space not found or access denied or assignment not found. |
500 application/json | Internal server error. |
DELETE/v1/spaces/{spaceId}/assignments/{assignmentId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/{spaceId}/assignments/{assignmentId}" \
-X DELETE \
-H "Authorization: Bearer <API-key>"
Gets a list of distinct space types.
Facts GET /v1/spaces/types
Rate limit required | Tier 1 (1000 requests per minute) |
Responses GET /v1/spaces/types
200 application/json | Space types retrieved. |
401 application/json | Unauthorized, JWT invalid or not provided. |
500 application/json | Internal server error. |
GET/v1/spaces/types
curl "https://your-tenant.us.qlikcloud.com/api/v1/spaces/types" \
-H "Authorization: Bearer <API-key>"
Response GET /v1/spaces/types
{
"data": [
"shared",
"managed"
]
}
ActionName
stringThe supported actions for user-created spaces like Shared or Managed spaces.
Enum:
create
read
update
delete
publish
Assignment
Properties
id required string<uid> | No description |
type required | The type of assignment such as user or group Enum: user group |
links required | No description |
roles required Array<RoleType> | The roles assigned to a user or group. Must not be empty. |
spaceId required string<uid> | The unique identifier for the space. |
tenantId required string<uid> | The unique identifier for the tenant. |
createdAt string<date-time> | The date and time when the space was created. |
createdBy string<uid> | The ID of the user who created the assignment. |
updatedAt string<date-time> | The date and time when the space was updated. |
updatedBy string<uid> | The ID of the user who updated the assignment. |
assigneeId required string<uid> | The userId or groupId based on the type. |
AssignmentCreate
Properties
type required | The type of assignment such as user or group Enum: user group |
roles required Array<RoleType> | The roles assigned to the assigneeId. |
assigneeId required string<uid> | The userId or groupId based on the type. |
Assignments
objectProperties
data | No description |
meta object | No description |
links | No description |
AssignmentType
stringThe type of assignment such as user or group
Enum:
user
group
AssignmentUpdate
Properties
roles Array<RoleType> | The roles assigned to the assigneeId. |
Error
An error object.
Properties
code required string | The error code. |
meta | Additional properties relating to the error. |
title required string | Summary of the problem. |
detail string | A human-readable explanation specific to the occurrence of this problem. |
Errors
objectProperties
code deprecated string | The error code. |
meta deprecated object | Additional properties relating to the error. |
title deprecated string | Summary of the problem. |
detail deprecated string | A human-readable explanation specific to the occurrence of this problem. |
errors | No description |
source deprecated | References to the source of the error. |
traceId string | No description |
Link
Properties
href required string | URL that defines the resource. |
RoleType
stringSupported roles by space type:
- Shared: codeveloper, consumer, dataconsumer, facilitator, producer
- Managed: consumer, contributor, dataconsumer, facilitator, publisher, basicconsumer
- Data: consumer, dataconsumer, facilitator, operator, producer, publisher
Enum:
consumer
contributor
dataconsumer
facilitator
operator
producer
publisher
basicconsumer
codeveloper
Space
A space is a security context simplifying the management of access control by allowing users to control it on the containers instead of on the resources themselves.
Properties
id required string<uid> | A unique identifier for the space, for example, 62716f4b39b865ece543cd45. |
meta | Information about the space settings. |
name required string | The name of the space. Personal spaces do not have a name. |
type string | The type of space such as shared, managed, and so on. Enum: shared managed data |
links required | No description |
ownerId string<uid> | The ID for the space owner. |
tenantId required string<uid> | The ID for the tenant, for example, xqGQ0k66vSR8f9G7J-vYtHZQkiYrCpct. |
createdAt string<date-time> | The date and time when the space was created. |
createdBy string<uid> | The ID of the user who created the space. |
updatedAt string<date-time> | The date and time when the space was updated. |
description string | The description of the space. Personal spaces do not have a description. |
SpaceCreate
Properties
name required, pattern='^[^\"\*\?\<\>\/\|\\\:]+$' string | The name of the space. Personal spaces do not have a name. |
type required string | The type of space such as shared, managed, and so on. Enum: shared managed data |
description string | The description of the space. Personal spaces do not have a description. |
SpacePatch
Array<object>Properties
op required string | The operation to be performed. Enum: replace |
path required string | Field of space to be patched (updated). Enum: /name /ownerId /description |
value required string | The value to be used within the operations.
|
Spaces
objectProperties
data | No description |
meta | No description |
links | No description |
SpaceType
stringThe name of the type.
Enum:
shared
managed
data
SpaceTypes
The distinct types of spaces (shared, managed, and so on).
Properties
data Array<SpaceType> | No description |
SpaceUpdate
Properties
name pattern='^[^\"\*\?\<\>\/\|\\\:]+$' string | The name of the space. |
ownerId string<uid> | The user ID of the space owner. |
description string | The description of the space. Personal spaces do not have a description. |