Search users and return basic user information

Prev Next
Get
/users
Security
HTTP
Type basic

HTTP Basic authentication using your Tenant ID and API secret.

  • Username is the Tenant ID (i.e. eu-west-2_AbcdEfghI)
  • Password is the API secret you would have received.

You can also authenticate using OAuth 2.0 client credentials (oauth2 security scheme) instead of Basic auth.

OAuth

OAuth 2.0 client credentials authentication.

Use the following token endpoints (replace :tenantId with your Tenant ID):

  • Public API access tokens

    • Staging: https://public.api.learnstaging.link/oauth2/token/:tenantId
    • Production: https://public.api.learn.link/oauth2/token/:tenantId
    • Staging MEA: https://public.api.meastaging.learn.tech/oauth2/token/:tenantId
    • Production MEA: https://public.api.mea.learn.tech/oauth2/token/:tenantId
  • Webhooks access tokens

    • Staging: https://user.api.learnstaging.link/oauth2/token/:tenantId
    • Production: https://user.api.learn.link/oauth2/token/:tenantId
    • Staging MEA: https://user.api.meastaging.learn.tech/oauth2/token/:tenantId
    • Production MEA: https://user.api.mea.learn.tech/oauth2/token/:tenantId

All access tokens must be sent using the Authorization: Bearer <access_token> header.

Scopes

For API access (non-webhooks), the following scopes are available:

  • api/all – Full read and write access to the API.
  • api/read – Read-only access to the API.
  • api/write – Write access to the API.

For webhooks, the following scopes are available:

  • api/webhooks – Access to webhook functionality.
  • api/all – Full read and write access to the API, including webhooks.

Tokens must include appropriate scopes for the endpoints you wish to call.

FlowClient Credentials
Token URLhttps://public.api.learn.link/oauth2/token/:tenantId
Query parameters
page
number

Used in combination with the limit parameter to page through the data.

Default1
Example1
perPage
number

Used in combination with the page parameter to page through the data.

Minimum1.0
Maximum1000.0
Default100
Example50
updatedSince
string (date-time)

Return only items updated on or after this date/time (ISO 8601).

Example2023-01-01T00:00:00Z
expand
string

Comma-separated list of extra data to nest into the response. Omit it and the response is unchanged.

  • permissions - every permission domain currently supported, today audiences and spaces. New domains are added to this token over time.

  • audiencePermissions - audience management permissions only.

  • spacePermissions - space permissions only.

When any permission domain is expanded the maximum perPage is reduced from 1000 to 100.

Examplepermissions
statuses
string

Only return users whose status is in this list. Comma-separated string. Allowed values (any combination): active, inactive, expired, new.

Exampleactive
omitStatuses
string

Exclude users whose status is in this list. Comma-separated string. Allowed values (any combination): active, inactive, expired, new.

Exampleinactive
roles
string

Only return users whose role is in this list. Comma-separated string. Allowed values (any combination): administrator, learneradmin, learner.

Examplelearneradmin
omitRoles
string

Exclude users whose role is in this list. Comma-separated string. Allowed values (any combination): administrator, learneradmin, learner.

Examplelearner
status
string

Filter by a single user status. One value only (not comma-separated). Allowed values: active, inactive, expired, new.

Valid values[ "active", "inactive", "expired", "new" ]
Responses
200

The users

Expand All
results
Array of object (User)

A user object

id
string

The user's ID

Example646767d82535201223349e09
ref
string | null

The user's ref

Examplexyzabc
firstName
string | null

The user's first name

ExampleJohn
lastName
string | null

The user's last name

ExampleDoe
email
string | null

The user's email

Examplesample@thrivelearning.com
role
string | null

The user's role

Valid values[ "administrator", "learneradmin", "learner" ]
Examplelearner
status
string | null

The user's status

Valid values[ "active", "inactive", "expired", "new" ]
Exampleactive
positions
Array of object (UserPosition)

The user's positions

User Position

id
string

The user ID

Example646767d82535201223349e09
manager
object

The user's line manager details

id
string | null

The manager's user ID

Example646767d82535201223349e09
name
string | null

The manager's full name (firstName + lastName)

ExampleJane Smith
ref
string | null

The manager's unique reference identifier

Examplejane.smith@company.com
ouId
string | null
Example646767d825
isActive
boolean

Defines whether the user is active

Exampletrue
startDate
string (date-time) | null
Example2021-01-01T09:00:00+00:00
endDate
string (date-time) | null
Example2021-01-01T09:00:00+00:00
createdAt
string (date-time) | null
Example2021-01-01T09:00:00+00:00
updatedAt
string (date-time) | null
Example2021-01-01T09:00:00+00:00
additionalFields
object | null

Additional fields

Example{ "location": "London" }
languageCode
string | null

The user's language code

Exampleen-gb
deleted
boolean

Defines whether the user has been deleted

Examplefalse
compliance
number

The user's compliance score

Example0
level
number

The user's level

Example0
firstLogin
string (date-time) | null
Example2021-01-01T09:00:00+00:00
lastLogin
string (date-time) | null
Example2021-01-01T09:00:00+00:00
tags
object
skills
string
ExampleLeadership
usersFollowing
Array of string
Example[ "646767d82535201223349e09" ]
string
tagsFollowing
Array of string
Example[ "646767d82535201223349e09" ]
string
createdAt
string (date-time) | null
Example2021-01-01T09:00:00+00:00
updatedAt
string (date-time) | null
Example2021-01-01T09:00:00+00:00
hasPicture
boolean

Defines whether the user has a profile picture

Examplefalse
timeZone
string | null

The user's time zone

ExampleEurope/London
summary
string | null

The user's summary

ExampleA summary of the user
relevancy
number

The user's relevancy score

Example0
rank
object
currentCategory
string
ExampleBeginner
currentRank
number
Example1
agreedTerms
boolean | null

Defines whether the user has agreed to the terms

Exampletrue
onboarded
boolean | null

Defines whether the user has been onboarded

Exampletrue
audiences
Array of string
Example[ "646767d82535201223349e09" ]
string
singleSignOn
boolean

Defines whether the user is using single sign-on

Exampletrue
permissions
object

The user's permissions. Present only when the request expanded them with the expand query parameter; omitted otherwise.

audiences
Array of object (UserAudiencePermission)

Audiences the user holds a management role on. Audience membership is reported separately, in the audiences field of the user object.

One audience a user holds management permissions on.

audienceId
string

The audience's ID.

Example651f0f5a2535201223349e09
name
string | null

The audience's name.

ExampleStore Managers
reference
string | null

The audience's reference, when it has one.

Examplestore-managers
permissions

The permissions a user holds on a single audience, grouped by the role that grants them. A role key is present only if the user holds that role on the audience, so the keys present are themselves the role attribution.

administrator
object

The administrator permissions set - only available on structures/ parent audiences.

canManageAudiences
boolean

Whether the user can create/edit child audiences.

Examplefalse
canAddAudienceManagers
boolean

Whether the user can add or edit managers for child audiences.

Exampletrue
audienceManager
object

The audience manager permissions set

manageMembers
boolean

Whether the user can add/remove members for the audience.

Exampletrue
manageUsers
boolean

Whether the user can manage users within the audience.

Examplefalse
manageContent
boolean

Whether the user can share/unshare content for the audience.

Exampletrue
assignments
boolean

Whether the user can create/edit/remove assignments for the audience.

Exampletrue
canViewUserAnalytics
boolean

Whether the user can view analytics for audience members.

Examplefalse
peopleManager
object

The people manager permissions set

analyticsAndReports
boolean

Whether the user can view analytics and reports.

Examplefalse
insights
boolean

Whether the user can view insights into how the audience is using content and search.

Exampletrue
canManageGoals
boolean

Whether the user can add/edit goals for audience members.

Examplefalse
manage
boolean

Whether the user can manage audience members.

Exampletrue
canViewLearnPage
boolean

Whether the user can view the learn page of audience members.

Exampletrue
canViewComplianceReports
boolean

Whether the user can run compliance reports on assignments associated to audience members.

Examplefalse
spaces
Array of object (UserSpacePermission)

Spaces the user holds access to. Reports only permissions granted to this user, so a space open to everyone is listed only where the user also holds a role on it.

One space the user holds access to, whether granted to them directly or through a group they belong to.

A space the user has left, or has been removed from, is not reported at all - even where a group would otherwise still grant it.

Reported as stored: a space that has since been deleted or archived is still listed while its membership record exists.

spaceId
string

The space's ID.

Example651f0f5a2535201223349e09
roles
Array of string

The roles the user holds on the space, deduplicated across direct and group-derived grants, and sorted.

A role outside the published catalogue is still reported here, and contributes nothing to permissions.

Example[ "space.admin" ]
string
permissions
Array of string

What those roles let the user do, deduplicated and sorted. Empty when none of the user's roles is recognised.

Example[ "space.analytics.view", "space.blocks.edit", "space.interact", "space.manage", "space.members.manage", "space.moderate", "space.publish", "space.view" ]
string
pagination
object

Details of the pagination, for endpoints that also return the deprecated pageNumber field.

totalResults
integer

Total number of results matching the query

Example48
totalPages
integer

Total number of pages available

Example3
page
integer

Current page number

Minimum1.0
Default1
Example1
perPage
integer

Number of results per page

Minimum1.0
Maximum1000.0
Default100
Example20
pageNumber
integer Deprecated

Deprecated alias for page, carrying the same value. Use page instead; pageNumber will be removed in a future release.

Minimum1.0
Example1
400

Bad Request

object

Bad Request

status
number
Example400
error
string
ExampleBad Request
message
string #deprecatedtemplate# #additional-property-template#
OneOf
string
string
object
object
401

Unauthorized

object

Unauthorized

status
number
Example401
error
string
ExampleUnauthorized
message
string
404

Not Found

object

Not found

status
number
Example404
error
string
ExampleNot Found
message
string #deprecatedtemplate# #additional-property-template#
OneOf
string
string
object
object
default

Internal Server Error

object

Internal Server Error

status
number
Example500
error
string
ExampleInternal Server Error
message
string