Get a user's permissions by ref

Prev Next
Get
/users/ref/{ref}/permissions

As GET /users/{id}/permissions, but looked up by your organisation's own reference for the user.

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
Path parameters
ref
stringRequired

The user ref

Examplexyzabc
Responses
200

The user's permissions

A permission audit row for a single user.

userId
string

The user's ID.

Example646767d82535201223349e09
ref
string | null

The user's ref.

Examplexyzabc
deleted
boolean

Whether the user has been deleted. Deleted users are reported rather than omitted, so permissions they still hold remain visible to an audit instead of disappearing from it.

Examplefalse
permissions
object

A user's permissions, grouped by domain. Additional domains may be added over time, so treat unknown keys as forward-compatible additions rather than errors.

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
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