Gets audiences

Prev Next
Get
/audiences

Returns all audiences (up to 100 per page) for a tenant, regardless of whether they are API controlled or not.

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

Filter to only return audiences which are / are not api controlled.

Exampletrue
updatedSince
string (date-time)

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

Example2023-01-01T00:00:00Z
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
Maximum100.0
Default100
Example50
limit
number

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

Minimum1.0
Maximum100.0
Default100
Example50
expand
string

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

  • managers - every user holding a management role on the audience (audience manager, people manager or administrator), with the full permission set for each role they hold.

Values are case-insensitive. Any other value is rejected with a 400, matching the expand parameter on the users endpoints; this endpoint's other query parameters fail with a 422.

Examplemanagers
Responses
200

An array of Thrive audiences

Expand All
results
Array of object (AudienceWithManagers)
object

An audience, with its managers when expand=managers is requested.

id
string

The id of the created resource

Example63f8c5361b9c80d3274be7ca
name
string

The name of the audience

ExampleTech Team
reference
string

The external reference for the Audience

Exampleaudience123
apiControlled
boolean

Whether the audience is API controlled or not. API-controlled audiences:

  • Can only be updated via the API, not through the Thrive UI
  • Must be created using this API (existing UI-created audiences cannot be converted)
  • API-created audiences can only exist within API-created structures
  • Are always of type 'manual' (not 'smart')
Exampletrue
category
string

Category of Audience: * structure - Structure, a top-level/parent audience. Created without a parentId. Represents an organizational unit. * audience - Audience, a child audience that exists within a structure. Created with a parentId. The workflow for creating audiences requires first creating a structure (category=structure, no parentId), then creating child audiences within that structure (category=audience, with parentId). A structure may contain multiple child audiences, but each audience can only belong to one structure. When a structure is deleted, all its child audiences are also deleted. See the Audience Workflow Documentation for hierarchy examples.

Valid values[ "audience", "structure" ]
type
string

Type of Audience: * smart - Audience membership is controlled by smart rules. * manual - Audience membership is managed manually. Note: Audiences created via the API are always of type 'manual'. Smart audiences can only be created through the Thrive UI. API-controlled audiences cannot be converted to smart audiences.

Valid values[ "manual", "smart" ]
parent
object | null

Information on the parent audience/ structure - only available on a child audience.

name
string

The name of the audience

ExampleTech Team
reference
string

The external reference for the Audience

Exampleaudience123
id
string

The id of the parent audience/ structure.

Example673db100e5c0503ac23b0e2b
createdAt
string (date-time)

The DateTime the audience was created at.

updatedAt
string (date-time)

The DateTime the audience was last updated at.

managers
Array of object (AudienceManager)

Present only when expand=managers is given. Every user holding a management role on the audience, one entry per user.

A user holding one or more management roles on an audience, with the full permission set for each role they hold.

userId
string

The user's id.

Example63f8c5361b9c80d3274be7ca
reference
string | null

The user's reference. Null if the user record cannot be found; the role is still reported.

Exampleuser123
email
string | null

The user's email. Null if the user record cannot be found; the role is still reported.

Exampletest@thrivelearning.com
deleted
boolean

Whether the user has been deleted. Deleted users who still hold a role are reported rather than hidden, so stale grants stay visible.

Examplefalse
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
pagination
object

Details of the pagination

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

Forbidden

object

Forbidden

status
number
Example403
error
string
ExampleForbidden
message
string #deprecatedtemplate# #additional-property-template#
OneOf
string
string
object
object
409

Conflict

object

Conflict

status
number
Example409
error
string
ExampleConflict
message
string, object
422

Unprocessable Content

object

Unprocessable Content

status
number
Example422
error
string
ExampleUnprocessable Content
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