Users

The resource representing a user in the system.

Download specification

List users

Returns a list of users using cursor-based pagination.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanage

Query Parameters

  • fieldsstring

    A comma-delimited string of the requested fields per entity. If the 'links' value is omitted, then the entity HATEOAS link will also be omitted.

  • filterstring

    The advanced filtering to use for the query. Refer to RFC 7644 for the syntax. Cannot be combined with any of the fields marked as deprecated. All conditional statements within this query parameter are case insensitive.

    The following fields support the eq operator: id, subject, name, email, status, clientId, assignedRoles.id assignedRoles.name, assignedGroups.id, assignedGroupsAssignedRoles.name

    Additionally, the following fields support the co operator: name, email, subject

    Queries may be rate limited if they differ greatly from these examples:

    (id eq "62716ab404a7bd8626af9bd6" or id eq "62716ac4c7e500e13ff5fa22") and (status eq "active" or status eq "disabled")
    
    name co "query" or email co "query" or subject co "query" or id eq "query" or assignedRoles.name eq "query"
    

    Any filters for status must be grouped together and applied to the whole query.

    Valid:

    (name eq "Bob" or name eq "Alice") and (status eq "active" or status eq "disabled")
    

    Invalid:

    name eq "Bob" or name eq "Alice" and (status eq "active" or status eq "disabled")
    
  • limitnumber

    The number of user entries to retrieve.

  • nextstring

    Get users that come after this cursor value when sorted. Cannot be used in conjunction with prev.

  • prevstring

    Get users that come before this cursor value when sorted. Cannot be used in conjunction with next.

  • sortstring

    The field to sort by, with +/- prefix indicating sort order

    Can be one of: "name""+name""-name"

  • totalResultsboolean

    Whether to return a total match count in the result. Defaults to false. It will trigger an extra DB query to count, reducing the efficiency of the endpoint.

  • emailstring

    The email to filter by. Deprecated. Use the new filter parameter to provide an advanced query filter.

  • endingBeforestring

    Get users with IDs that are lower than the target user ID. Cannot be used in conjunction with startingAfter. Deprecated. Use prev instead.

  • rolestring

    The role to filter by. Deprecated.

  • sortBystring

    The user parameter to sort by. Deprecated. Use sort instead.

    Can be one of: "name"

  • sortOrderstring

    The sort order, either ascending or descending. Deprecated. Use sort instead.

    Can be one of: "asc""desc"

  • startingAfterstring

    Get users with IDs that are higher than the target user ID. Cannot be used in conjunction with endingBefore. Deprecated. Use next instead.

  • statusstring

    The status to filter by. Supports multiple values delimited by commas. Deprecated. Use the new filter parameter to provide an advanced query filter.

    Can be one of: "active""invited""disabled""deleted"

  • subjectstring

    The subject to filter by. Deprecated. Use the new filter parameter to provide an advanced query filter.

  • tenantIdstring

    The tenant ID to filter by. Deprecated.

Responses

200

application/json

Successful query, returns an array of users

  • application/jsonobject
    Show application/json properties
    • dataarray of objects
    • linksobject

      Pagination links

      Show links properties
      • nextobject

        Link information for next page

        Show next properties
        • hrefstring
          Required

          URL to the next page of records

      • prevobject

        Link information for previous page

        Show prev properties
        • hrefstring
          Required

          URL to the previous page of records

      • selfobject
        Required

        Link information for current page

        Show self properties
        • hrefstring
          Required

          URL to the current page of records

400

application/json

Invalid request parameters for querying users.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

401

application/json

Not authorized.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

500

application/json

Internal server error.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

GET /v1/users
curl "https://your-tenant.us.qlikcloud.com/api/v1/users" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik user ls

Response

{
  "data": [
    {}
  ],
  "links": {
    "next": {
      "href": "string"
    },
    "prev": {
      "href": "string"
    },
    "self": {
      "href": "string"
    }
  }
}

Create user

Creates an invited user.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories externalmanage

Request Body

Required

application/json

  • application/jsonobject
    Show application/json properties
    • namestring

      The name of the user.

    • emailstring

      The email address for the user. This is a required field when inviting a user.

    • rolesarray of stringsDeprecated

      List of system roles to which the user has been assigned. Only returned when permitted by access control.

      Values may be any of: "TenantAdmin""Developer""AnalyticsAdmin""DataAdmin""DataSpaceCreator""ManagedSpaceCreator""SharedSpaceCreator"

    • statusstring

      The status of the created user within the tenant.

      Can be one of: "invited"

    • picturestring

      A static url linking to the avatar of the user.

    • subjectstring
      Required

      The unique user identitier from an identity provider.

    • tenantIdstring

      The tenant that the user will belong too.

    • assignedRolesarray

      The roles to assign to the user.

      One of:
      • AssignedRolesRefIDsarray of objects

        An array of role reference identifiers.

        Show AssignedRolesRefIDs properties
        • idstring
          Required

          The unique role identitier

      • AssignedRolesRefNamesarray of objects

        An array of role reference names.

        Show AssignedRolesRefNames properties
        • namestring
          Required

          The name of the role

Responses

201

application/json

User created successfully.

A user object.

  • application/jsonobject

    A user object.

    Show application/json properties
    • idstring
      Required

      The unique user identifier.

    • namestring
      Required

      The name of the user.

    • emailstring

      The email address for the user.

    • linksobject

      Pagination links to the user.

      Show links properties
      • selfobject
        Required

        A link to this user.

        Show self properties
        • hrefstring
          Required

          URL that defines the resource.

    • rolesarray of stringsDeprecated

      List of system roles to which the user has been assigned. Only returned when permitted by access control. Deprecated. Use assignedRoles instead.

      Values may be any of: "TenantAdmin""Developer""AnalyticsAdmin""DataAdmin""DataSpaceCreator""ManagedSpaceCreator""SharedSpaceCreator"

    • localestring

      Represents the end-user's language tag.

    • statusstring

      The status of the user within the tenant.

      Can be one of: "active""invited""disabled""deleted"

    • createdstringDeprecated

      Deprecated. Use createdAt instead.

    • picturestring

      A static url linking to the avatar of the user.

    • subjectstring
      Required

      The unique user identitier from an identity provider.

    • tenantIdstring
      Required

      The tenant that the user belongs too.

    • zoneinfostring

      Represents the end-user's time zone.

    • createdAtstring

      The timestamp for when the user record was created.

    • lastUpdatedstringDeprecated

      Deprecated. Use lastUpdatedAt instead.

    • inviteExpirynumber

      The number of seconds until the user invitation will expire.

    • assignedRolesarray of objects

      An array of role references. Visibility dependant on access level. Must have access to roles to view other users' assigned roles.

      Show assignedRoles properties
      • idstring
        Required

        The unique role identitier

      • namestring
        Required

        The role name

      • typestring
        Required

        The type of role

        Can be one of: "default""custom"

      • levelstring
        Required

        The role level

        Can be one of: "admin""user"

    • lastUpdatedAtstring

      The timestamp for when the user record was last updated.

    • assignedGroupsarray of objects

      An array of group references.

      Show assignedGroups properties
      • idstring
        Required

        The unique group identitier

      • namestring
        Required

        The group name

      • assignedRolesarray of objects

        An array of role references. Visibility dependant on access level. Must have access to roles to view other users' assigned roles.

        Show assignedRoles properties
        • idstring
          Required

          The unique role identitier

        • namestring
          Required

          The role name

        • typestring
          Required

          The type of role

          Can be one of: "default""custom"

        • levelstring
          Required

          The role level

          Can be one of: "admin""user"

    • assignedScopesarray of strings

      An array of scopes assigned to user

    • preferredLocalestring

      Represents the end-user's preferred language tag.

    • preferredZoneinfostring

      Represents the end-user's preferred time zone.

400

application/json

Invalid request was made.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

401

application/json

Unauthorized to create a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

403

application/json

Forbidden from creating a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

409

application/json

User conflict when attempting to create a new user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

413

application/json

Payload was too large (limit of 500kB)

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

500

application/json

Internal server error.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

POST /v1/users
curl "https://your-tenant.us.qlikcloud.com/api/v1/users" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"name":"John Smith","email":"john.smith@corp.example","status":"invited","picture":"https://corp.example/docs/jsmith.png","subject":"1234asdasa6789","tenantId":"q3VRZ4YMixRaLKEPhkZWM-XMIDN7cO8f","assignedRoles":[{"name":"Developer"}]}'
const https = require('https')
  const data = JSON.stringify({"name":"John Smith","email":"john.smith@corp.example","status":"invited","picture":"https://corp.example/docs/jsmith.png","subject":"1234asdasa6789","tenantId":"q3VRZ4YMixRaLKEPhkZWM-XMIDN7cO8f","assignedRoles":[{"name":"Developer"}]})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
qlik user create \
--assignedRoles='{"name":"Developer"}' \
--email="john.smith@corp.example" \
--name="John Smith" \
--picture="https://corp.example/docs/jsmith.png" \
--status="invited" \
--subject="1234asdasa6789" \
--tenantId="q3VRZ4YMixRaLKEPhkZWM-XMIDN7cO8f"

Request

{
  "name": "John Smith",
  "email": "john.smith@corp.example",
  "status": "invited",
  "picture": "https://corp.example/docs/jsmith.png",
  "subject": "1234asdasa6789",
  "tenantId": "q3VRZ4YMixRaLKEPhkZWM-XMIDN7cO8f",
  "assignedRoles": [
    {
      "name": "Developer"
    }
  ]
}

Response

{
  "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
  "name": "string",
  "email": "string",
  "links": {
    "self": {
      "href": "http://mytenant.elastic.example/api/v1/users/DKNmFJCNo8SGURUdh2ll--------USER"
    }
  },
  "roles": [
    "TenantAdmin"
  ],
  "locale": "string",
  "status": "active",
  "created": "string",
  "picture": "http://example.com",
  "subject": "string",
  "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
  "zoneinfo": "string",
  "createdAt": "2018-10-30T07:06:22Z",
  "lastUpdated": "string",
  "inviteExpiry": 42,
  "assignedRoles": [
    {
      "id": "507f191e810c19729de860ea",
      "name": "Developer",
      "type": "default",
      "level": "user"
    }
  ],
  "lastUpdatedAt": "2018-10-30T07:06:22Z",
  "assignedGroups": [
    {
      "id": "507f191e810c19729de860eb",
      "name": "Finance",
      "assignedRoles": [
        {
          "id": "507f191e810c19729de860ea",
          "name": "Developer",
          "type": "default",
          "level": "user"
        }
      ]
    }
  ],
  "assignedScopes": [
    "string"
  ],
  "preferredLocale": "string",
  "preferredZoneinfo": "string"
}

Get user by ID

Returns the requested user.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanage

Query Parameters

  • fieldsstring

    A comma-delimited string of the requested fields per entity. If the 'links' value is omitted, then the entity HATEOAS link will also be omitted.

Path Parameters

  • userIdstring
    Required

    The user's unique identifier

Responses

200

application/json

User resource

  • application/jsonobject
    Show application/json properties
    • idstring
      Required

      The unique user identifier.

    • namestring
      Required

      The name of the user.

    • emailstring

      The email address for the user.

    • linksobject

      Pagination links to the user.

      Show links properties
      • selfobject
        Required

        A link to this user.

        Show self properties
        • hrefstring
          Required

          URL that defines the resource.

    • rolesarray of stringsDeprecated

      List of system roles to which the user has been assigned. Only returned when permitted by access control. Deprecated. Use assignedRoles instead.

      Values may be any of: "TenantAdmin""Developer""AnalyticsAdmin""DataAdmin""DataSpaceCreator""ManagedSpaceCreator""SharedSpaceCreator"

    • localestring

      Represents the end-user's language tag.

    • statusstring

      The status of the user within the tenant.

      Can be one of: "active""invited""disabled""deleted"

    • createdstringDeprecated

      Deprecated. Use createdAt instead.

    • picturestring

      A static url linking to the avatar of the user.

    • subjectstring
      Required

      The unique user identitier from an identity provider.

    • tenantIdstring
      Required

      The tenant that the user belongs too.

    • zoneinfostring

      Represents the end-user's time zone.

    • createdAtstring

      The timestamp for when the user record was created.

    • lastUpdatedstringDeprecated

      Deprecated. Use lastUpdatedAt instead.

    • inviteExpirynumber

      The number of seconds until the user invitation will expire.

    • assignedRolesarray of objects

      An array of role references. Visibility dependant on access level. Must have access to roles to view other users' assigned roles.

      Show assignedRoles properties
      • idstring
        Required

        The unique role identitier

      • namestring
        Required

        The role name

      • typestring
        Required

        The type of role

        Can be one of: "default""custom"

      • levelstring
        Required

        The role level

        Can be one of: "admin""user"

    • lastUpdatedAtstring

      The timestamp for when the user record was last updated.

    • assignedGroupsarray of objects

      An array of group references.

      Show assignedGroups properties
      • idstring
        Required

        The unique group identitier

      • namestring
        Required

        The group name

      • assignedRolesarray of objects

        An array of role references. Visibility dependant on access level. Must have access to roles to view other users' assigned roles.

        Show assignedRoles properties
        • idstring
          Required

          The unique role identitier

        • namestring
          Required

          The role name

        • typestring
          Required

          The type of role

          Can be one of: "default""custom"

        • levelstring
          Required

          The role level

          Can be one of: "admin""user"

    • assignedScopesarray of strings

      An array of scopes assigned to user

    • preferredLocalestring

      Represents the end-user's preferred language tag.

    • preferredZoneinfostring

      Represents the end-user's preferred time zone.

403

application/json

Forbidden from getting a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

404

application/json

User was not found.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

500

application/json

Internal server error.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

GET /v1/users/{userId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/{userId}" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/{userId}',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik user get <userId>

Response

{
  "id": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
  "name": "string",
  "email": "string",
  "links": {
    "self": {
      "href": "http://mytenant.elastic.example/api/v1/users/DKNmFJCNo8SGURUdh2ll--------USER"
    }
  },
  "roles": [
    "TenantAdmin"
  ],
  "locale": "string",
  "status": "active",
  "created": "string",
  "picture": "http://example.com",
  "subject": "string",
  "tenantId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
  "zoneinfo": "string",
  "createdAt": "2018-10-30T07:06:22Z",
  "lastUpdated": "string",
  "inviteExpiry": 42,
  "assignedRoles": [
    {
      "id": "507f191e810c19729de860ea",
      "name": "Developer",
      "type": "default",
      "level": "user"
    }
  ],
  "lastUpdatedAt": "2018-10-30T07:06:22Z",
  "assignedGroups": [
    {
      "id": "507f191e810c19729de860eb",
      "name": "Finance",
      "assignedRoles": [
        {
          "id": "507f191e810c19729de860ea",
          "name": "Developer",
          "type": "default",
          "level": "user"
        }
      ]
    }
  ],
  "assignedScopes": [
    "string"
  ],
  "preferredLocale": "string",
  "preferredZoneinfo": "string"
}

Update user by ID

Updates fields for a user resource

Facts

Rate limit Tier 2 (100 requests per minute)
Categories externalmanage

Path Parameters

  • userIdstring
    Required

    The ID of the user to update.

Request Body

Required

application/json

An array of JSON Patch documents

  • application/jsonarray of objects

    An array of JSON Patch documents

    Show application/json properties
    • opstring
      Required

      The operation to be performed.

      Can be one of: "replace""set (Deprecated)""unset (Deprecated)""add (Deprecated)""renew"

    • pathstring
      Required

      A JSON Pointer.

      Can be one of: "/name""/roles (Deprecated)""/assignedRoles""/inviteExpiry""/preferredZoneinfo""/preferredLocale""/status"

    • valuestring|boolean|array
      Required

      The value to be used for this operation.

      One of:
      • string
      • boolean
      • array
      • AssignedRolesRefIDsarray of objects

        An array of role reference identifiers.

        Show AssignedRolesRefIDs properties
        • idstring
          Required

          The unique role identitier

      • AssignedRolesRefNamesarray of objects

        An array of role reference names.

        Show AssignedRolesRefNames properties
        • namestring
          Required

          The name of the role

Responses

204

User updated successfully.

207

application/json

User update was partially successful with non-critical failures.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

400

application/json

Invalid request for patching a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

403

application/json

Forbidden from patching a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

404

application/json

User was not found.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

PATCH /v1/users/{userId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/{userId}" \
-X PATCH \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '[{"op":"replace","path":"/name","value":"John"},{"op":"replace","path":"/assignedRoles","value":[{"name":"Developer"}]},{"op":"replace","path":"/email","value":"unicorn@corp.example"},{"op":"replace","path":"/preferredZoneInfo","value":"America/Halifax"},{"op":"replace","path":"/preferredLocale","value":"en_US_POSIX"},{"op":"replace","path":"/status","value":"active"}]'
const https = require('https')
  const data = JSON.stringify([{"op":"replace","path":"/name","value":"John"},{"op":"replace","path":"/assignedRoles","value":[{"name":"Developer"}]},{"op":"replace","path":"/email","value":"unicorn@corp.example"},{"op":"replace","path":"/preferredZoneInfo","value":"America/Halifax"},{"op":"replace","path":"/preferredLocale","value":"en_US_POSIX"},{"op":"replace","path":"/status","value":"active"}])
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/{userId}',
    'method': 'PATCH',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
qlik user patch <userId> \
--body='[{"op":"replace","path":"/name","value":"John"},{"op":"replace","path":"/assignedRoles","value":[{"name":"Developer"}]},{"op":"replace","path":"/email","value":"unicorn@corp.example"},{"op":"replace","path":"/preferredZoneInfo","value":"America/Halifax"},{"op":"replace","path":"/preferredLocale","value":"en_US_POSIX"},{"op":"replace","path":"/status","value":"active"}]'

Request

[
  {
    "op": "replace",
    "path": "/name",
    "value": "John"
  },
  {
    "op": "replace",
    "path": "/assignedRoles",
    "value": [
      {
        "name": "Developer"
      }
    ]
  },
  {
    "op": "replace",
    "path": "/email",
    "value": "unicorn@corp.example"
  },
  {
    "op": "replace",
    "path": "/preferredZoneInfo",
    "value": "America/Halifax"
  },
  {
    "op": "replace",
    "path": "/preferredLocale",
    "value": "en_US_POSIX"
  },
  {
    "op": "replace",
    "path": "/status",
    "value": "active"
  }
]

Response

{
  "errors": [
    {
      "code": "USERS-7",
      "title": "Not found",
      "status": 404
    }
  ],
  "traceId": "000000000000000079cf1ebeae103de1"
}

Delete user by ID

Deletes the requested user.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories externalmanage

Path Parameters

  • userIdstring
    Required

    The ID of the user to delete.

Responses

204

User deleted successfully.

400

application/json

Invalid request for deleting a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

403

application/json

Forbidden from deleting a user.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

404

application/json

User was not found.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

DELETE /v1/users/{userId}
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/{userId}" \
-X DELETE \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/{userId}',
    'method': 'DELETE',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik user rm <userId>

Count users

Returns the number of users in a given tenant

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanage

Query Parameters

  • tenantIdstring

    The tenant ID to filter by.

Responses

200

application/json

The count of users.

The result object for the user count.

  • application/jsonobject

    The result object for the user count.

    Show application/json properties
    • totalnumber
      Required

      The total number of users in the tenant.

403

application/json

Forbidden from reading the count.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

404

application/json

Not found.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

GET /v1/users/actions/count
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/actions/count" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/actions/count',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik user count

Response

{
  "total": 42
}

Filter users

Retrieves a list of users matching the filter using an advanced query string.

Facts

Rate limit Special (200 requests per minute)
Categories externalmanage

Query Parameters

  • fieldsstring

    A comma-delimited string of the requested fields per entity. If the 'links' value is omitted, then the entity HATEOAS link will also be omitted.

  • limitnumber

    The number of user entries to retrieve.

  • nextstring

    Get users with IDs that are higher than the target user ID. Cannot be used in conjunction with prev.

  • prevstring

    Get users with IDs that are lower than the target user ID. Cannot be used in conjunction with next.

  • sortstring

    The field to sort by, with +/- prefix indicating sort order

    Can be one of: "name""+name""-name"

Request Body

application/json

Will contain the query filter to apply. It shall not contain more than 100 ids.

An advanced query filter to be used for complex user querying in the tenant.

  • application/jsonobject

    An advanced query filter to be used for complex user querying in the tenant.

    Show application/json properties
    • filterstring

      The advanced filtering to be applied the query. All conditional statements within this query parameter are case insensitive.

Responses

200

application/json

Users retrieved.

  • application/jsonobject
    Show application/json properties
    • dataarray of objects
    • linksobject

      Pagination links

      Show links properties
      • nextobject

        Link information for next page

        Show next properties
        • hrefstring
          Required

          URL to the next page of records

      • prevobject

        Link information for previous page

        Show prev properties
        • hrefstring
          Required

          URL to the previous page of records

      • selfobject
        Required

        Link information for current page

        Show self properties
        • hrefstring
          Required

          URL to the current page of records

400

application/json

Advanced query filter syntax error or query params format error or filter too complex.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

401

application/json

Unauthorized, JWT invalid or not provided.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

403

application/json

The operation failed due to unsufficient permissions.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

500

application/json

Internal server error.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

POST /v1/users/actions/filter
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/actions/filter" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"filter":"(id eq \"626949b9017b657805080bbd\" or id eq \"626949bf017b657805080bbe\") and (status eq \"active\" or status eq \"deleted\")"}'
const https = require('https')
  const data = JSON.stringify({"filter":"(id eq \"626949b9017b657805080bbd\" or id eq \"626949bf017b657805080bbe\") and (status eq \"active\" or status eq \"deleted\")"})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/actions/filter',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
qlik user filter \
--filter="(id eq "626949b9017b657805080bbd" or id eq "626949bf017b657805080bbe") and (status eq "active" or status eq "deleted")"

Request

{
  "filter": "(id eq \"626949b9017b657805080bbd\" or id eq \"626949bf017b657805080bbe\") and (status eq \"active\" or status eq \"deleted\")"
}

Response

{
  "data": [
    {}
  ],
  "links": {
    "next": {
      "href": "string"
    },
    "prev": {
      "href": "string"
    },
    "self": {
      "href": "string"
    }
  }
}

Invite one or more users by email address.

Facts

Rate limit Tier 2 (100 requests per minute)
Categories externalmanage

Request Body

Required

application/json

  • application/jsonobject
    Show application/json properties
    • inviteesarray of objects

      List of invitees who should receive an invite email.

      Show invitees properties
      • namestring

        Optional display name for this invitee. Example - "Elvis Presley".

      • emailstring
        Required

        Email address for this invitee. Example - "foo@qlik.com".

      • resendboolean

        Flag - when true invite message is sent to inactive or invited users. Typically used to force email resend to users who are not yet active.

      • languagestring

        Optional ISO 639-1 2 letter code for invite language. Defaults to 'en' when missing or not found.

Responses

207

application/json

Request completed successfully. See Results for ResultDetail on each invite.

Data list - ResultItem or ErrorItem for each InviteeItem.

  • application/jsonobject

    Data list - ResultItem or ErrorItem for each InviteeItem.

    Show application/json properties
    • dataarray of objects
      One of:
      • ResultItemobject

        Invitee result item

        Show ResultItem properties
        • emailstring
          Required

          Email specified for this invitee

        • statusstring
          Required

          Result status = {"ok" (new user; email sent) | "exists" (existing user; no email sent)}

          Can be one of: "ok""exists"

        • userIdstring
          Required

          UserId for this invitee

        • subjectstring
          Required

          IdP generated UUID for this invitee

      • ErrorItemobject

        Error object.

        Show ErrorItem properties
        • codeinteger

          Error code

        • titlestring

          Summary of the problem

        • detailstring

          A human-readable explanation specific to this occurrence of the problem (if applicable)

        • codestring

          Error code - | HTTP Status code | 1001 - Active User | 1002 - Disabled User | 1003 - Default External Dependency Error |

        • emailstring
          Required

          Invitee email

        • statusstring
          Required

          Result status = "error"

          Can be one of: "error"

403

application/json

Request denied.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects

default

application/json

Request error. See Errors.

  • application/jsonobject
    Show application/json properties
    • errorsarray of objects
POST /v1/users/actions/invite
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/actions/invite" \
-X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer <API-key>" \
-d '{"invitees":[{"name":"string","email":"string","resend":true,"language":"string"}]}'
const https = require('https')
  const data = JSON.stringify({"invitees":[{"name":"string","email":"string","resend":true,"language":"string"}]})
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/actions/invite',
    'method': 'POST',
    'headers': {
      'Content-type': 'application/json',
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  req.write(data)
  
This API is not included yet in qlik-cli

Request

{
  "invitees": [
    {
      "name": "string",
      "email": "string",
      "resend": true,
      "language": "string"
    }
  ]
}

Response

{
  "data": [
    {
      "email": "string",
      "status": "ok",
      "userId": "TiQ8GPVr8qI714Lp5ChAAFFaU24MJy69",
      "subject": "c35f4b70-3ce4-4a30-b62b-2aef16943bc4"
    }
  ]
}

Get my user

Redirects to retrieve the user resource associated with the JWT claims.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanage

Responses

301

text/html

Successful redirect.

  • text/htmlstring

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

GET /v1/users/me
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/me" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/me',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik user me

Get configuration metadata

Returns the metadata with regard to the user configuration. Deprecated, use GET /v1/roles instead.

Facts

Rate limit Tier 1 (1000 requests per minute)
Categories externalmanage
Deprecated This endpoint is deprecated and will eventually be removed. Read our API policy here.

Responses

200

application/json

User configuration

An object containing the metadata for the user configuration.

  • application/jsonobjectDeprecated

    An object containing the metadata for the user configuration.

    Show application/json properties
    • valid_rolesarray of strings

      List of system roles to which the user can be assigned.

401

application/json

Unauthorized.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

429

application/json

Request has been rate limited.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

500

application/json

Internal server error.

The error response object describing the error from the handling of an HTTP request.

  • application/jsonobject

    The error response object describing the error from the handling of an HTTP request.

    Show application/json properties
    • errorsarray of objects
    • traceIdstring

      A unique identifier for tracing the error.

GET /v1/users/metadata
curl "https://your-tenant.us.qlikcloud.com/api/v1/users/metadata" \
-H "Authorization: Bearer <API-key>"
const https = require('https')
  const data = JSON.stringify("")
  const options =   {
    'hostname': 'https://your-tenant.us.qlikcloud.com',
    'port': 443,
    'path': '/api/v1/users/metadata',
    'method': 'GET',
    'headers': {
      'Authorization': 'Bearer <API-key>'
    }
  }
  const req = https.request(options)
  
qlik user metadata

Response

{
  "valid_roles": [
    "TenantAdmin",
    "Developer"
  ]
}