Get a single activity record

Prev Next
Get
/activities/{id}

Retrieves a specific activity by its ID

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

Unique identifier of the activity

Pattern^[0-9a-fA-F]{24}$
Example507f1f77bcf86cd799439012
Responses
200

Successful response

{
  "id": "60d5ec49b60b4b3a2c8f9a10",
  "user": "60d5ec49b60b4b3a2c8f9a11",
  "type": "viewed",
  "date": "2020-02-12T14:58:23.621Z",
  "contextId": "64b6f4a8c2e4a1b9d3f2c4a0",
  "contextType": "content",
  "contentType": "video",
  "data": {
    "source": {
      "source": "feed"
    },
    "duration": "3600"
  }
}
Expand All
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 activity ID is malformed. 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

Activity not found