Get a single activity record

Prev Next
Get
/activity/{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",
  "data": {
    "source": {
      "source": "feed"
    },
    "duration": "3600"
  },
  "with": null
}
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
Examplefile
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)

404

Activity not found