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,
    "pageNumber": 1,
    "perPage": 20
  },
  "results": [
    {
      "id": "64b6f4a8c2e4a1b9d3f2c4a1",
      "user": "64b6f4a8c2e4a1b9d3f2c4a2",
      "type": "viewed",
      "date": "2020-02-12T14:58:23.621Z",
      "contextId": "5f9d88d6e1b2a34c56d78901",
      "contextType": "content",
      "contentType": "article",
      "data": {}
    }
  ]
}
Expand All
object
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
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
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

The kind of record this activity was logged against, such as content. Describes the subject of the activity rather than the artifact itself; see contentType for that.

Examplecontent
contentType
string

The kind of artifact the activity relates to, such as video or pathway. Describes the artifact itself, where contextType describes what the activity was recorded against.

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

400

Bad Request. Returned when the query could not be processed. The body is a plain-text error message rather than the JSON error object used elsewhere in this API.

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
422

Unprocessable Content

object

Unprocessable Content

status
number
Example422
error
string
ExampleUnprocessable Content
message
string #deprecatedtemplate# #additional-property-template#
OneOf
string
string
object
object