Documentation Index

Fetch the complete documentation index at: https://docs.thrivelearning.com/llms.txt

Use this file to discover all available pages before exploring further.

Query activity records

Prev Next
Get
/activities

Retrieves multiple (upto 1,000) activity records with pagination and filtering options.

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
integer

Page number for pagination

Minimum1.0
Default1
Example1
perPage
integer

Number of records per page

Minimum1.0
Maximum1000.0
Default20
Example20
actions
string

Filter by activity types (comma-separated list)

Exampleviewed,completed
omitActions
string

Exclude certain activity types (comma-separated list)

Exampleviewed,loggedin
contentIds
string

Filter by content IDs (comma-separated)

Example000000000000000000000001,000000000000000000000002
contentType
string

Filter by content type

Examplecontent
timestampFrom
string

Filter activities after this timestamp (format YYYY-MM-DD hh:mm:ss)

Example2020-01-01 00:00:00
timestampTo
string

Filter activities before this timestamp (format YYYY-MM-DD hh:mm:ss)

Example2020-10-01 00:00:00
Responses
200

Successful response

{
  "pagination": {
    "totalResults": 34223,
    "totalPages": 1720,
    "page": 1,
    "perPage": 20
  },
  "results": [
    {
      "id": "64b6f4a8c2e4a1b9d3f2c4a1",
      "user": "64b6f4a8c2e4a1b9d3f2c4a2",
      "type": "viewed",
      "date": "2020-02-12T14:58:23.621Z",
      "contextId": "5f9d88d6e1b2a34c56d78901",
      "contextType": "content",
      "data": {},
      "with": null
    }
  ]
}
Expand All
object
pagination
object (Pagination)

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
results
Array of object (Activity)
object
type
string

The type of activity being logged

Valid values[ "viewed", "completed", "passed", "pinned", "unpinned", "liked", "unliked", "commented", "commentdeleted", "shared", "progressed", "registered", "followed", "unfollowed", "started", "resumed", "searched", "found", "loggedin", "loggedout" ]
Max length250
Exampleviewed
name
string

The name of the activity logged

Max length250
ExampleRelative Time Dilation - Practical Guide
id
string

Unique ID for this activity record

Pattern^[0-9a-fA-F]{24}$
user
string

User ID for the user who triggered this activity record

Pattern^[0-9a-fA-F]{24}$
date
string (date-time)

Timestamp when the activity occurred

contextId
string

Unique identifier for the context item

Pattern^[0-9a-fA-F]{24}$
contextType
string

What this activity was in relation to

Examplecontent
data
object

Unstructured JSON object with variable content depending on the type of activity. For example, a viewed statement will list the duration of the view and the source, whereas a found statement will detail the keyword of the search and results count.

with
object | null

Additional context information (nullable)

401

Unauthorized

object

Unauthorized

status
number
Example401.0
error
string
ExampleUnauthorized
message
string
404

Not Found

object

Not found

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