API Updates - Users, Groups and Roles
NEW API: Roles
You’re now able to list all assignable roles within your tenant.
curl "https://your-tenant.us.qlikcloud.com/api/v1/roles" \ -H "Authorization: Bearer <API-key>"
# Http 200 - Ok{ "data": [ { "id": "605a18af2ab08cdbfad09259", "tenantId": "", "name": "AnalyticsAdmin", "description": "", "type": "default", "level": "admin", "permissions": [ "automation:delete", "automation:disable", "automation:enable", "automation:list", ... ], "createdAt": "2021-03-23T16:34:55.401Z", "lastUpdatedAt": "2022-04-29T12:06:44.246Z", "links": { "self": { "href": "https://your-tenant.us.qlikcloud.com/api/v1/roles/605a18af2ab08cdbfad09259" } } }, ... ]}
For the complete list of supported features, please see the Roles API specifications.
NEW API: Groups
You’re now able to view groups within your tenant.
curl "https://your-tenant.us.qlikcloud.com/api/v1/groups" \ -H "Authorization: Bearer <API-key>"
# Http 200 - Ok{ "data": [ { "id": "603e591b00d28755ad41bd3b", "tenantId": "kg1knZuzosd7LR-CfvV7====tenantID", "createdAt": "2021-03-02T15:26:19.724Z", "lastUpdatedAt": "2021-03-02T15:26:19.724Z", "name": "Finance", "status": "active", "assignedRoles": [ { "id": "60804cf8a77b649c66733f65", "name": "Developer", "type": "default", "level": "user" } ], "links": { "self": { "href": "https://your-tenant.us.qlikcloud.com/api/v1/groups/603e591b00d28755ad41bd3b" } } }, ... ]}
For the complete list of supported features, please see the Groups API specifications.
API DEPRECATIONS: Users
With the release of the new roles and groups APIs, a set of users features are being deprecated. As of November 1, 2022 they will no longer be available. Please ensure to follow the migrations to avoid any downtime.
ENDPOINT: GET /users/metadata
Support for this endpoint is being removed. The role names can now be retrieved from the list roles endpoint.
ATTRIBUTE: roles
Support for user.roles
is being removed and replaced with user.assignedRoles
. Each assigned role reference
maps to an instance of a role object.
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/me" \ -H "Authorization: Bearer <API-key>"
# Http 200 - Ok{ ... "roles": [ "TenantAdmin", "Developer", ], "assignedRoles": [ { "id": "60804cf8a77b649c66733f60", "name": "TenantAdmin", "type": "default", "level": "admin" }, { "id": "60804cf8a77b649c66733f65", "name": "Developer", "type": "default", "level": "user" } ]}
ATTRIBUTE: created
, lastUpdated
The attributes created
and lastUpdated
are being renamed to createdAt
and lastUpdatedAt
respectively.
PATCH OPERATIONS & PATHS VALUES
Support for the operations set
, unset
and add
are being removed. It’s recommended to use the operation replace
for modifying the assigned roles.
Additionally, the path /roles
is being deprecated in favor of using /assignedRoles
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/123456789012345678901234" \ -X PATCH \ -H "Authorization: Bearer <API-key>" \ -H "Content-type: application/json" \ -d '[ { "op": "replace", "path": "/assignedRoles", "value": [ { "id": "60804cf8a77b649c66733f60" }, { "id": "60804cf8a77b649c66733f65" } ] ]'
# Http 204 - No Content
SORTING
Support for the sorting attributes sortBy
and sortOrder
is being removed and replaced with sort
.
This query parameter can be prefixed with +/-
to indicate the sort order.
Examples:
sort=+name
sort=-name
sort=name
PAGINATION
The pagination query parameters startingAfter
and endingBefore
are being renamed to next
and prev
respectively.
QUERY PARAMETER: tenantId
The query parameter tenantId
is no longer required and will default to the tenant being accessed.
QUERY PARAMETER: subject
, email
, status
, role
These four user attributes are no longer supported as query paremeters when querying users.
curl "https://your-tenant.us.qlikcloud.com/api/v1/users?subject=1234567890&email=john.smith@corp.example&status=active" \ -H "Authorization: Bearer <API-key>"
You can now perform the same query using the filter
query parameter.
curl "https://your-tenant.us.qlikcloud.com/api/v1/users?filter=subject eq "1234567890" and email eq "john.smith@corp.example" and status eq "active" \ -H "Authorization: Bearer <API-key>"
For more complex filtering, you can optionally use the new filter endpoint.
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/actions/filter" \ -X POST \ -H "Authorization: Bearer <API-key>" \ -H "Content-type: application/json" \ -d '{ "filter": "subject eq \"1234567890\"" }'
For the complete list of supported features, please see the Users API specifications.