List events

Prev Next
Get
/events

Returns a paginated list of events with their occurrence and attendee counts. Use updatedSince to sync incrementally.

Archived and deleted events are excluded unless you ask for them explicitly with the status filter.

Events do not expose a duration: an event's length is determined by its sessions, so no meaningful single value exists at the event level.

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
Maximum100.0
Default100
Example10
status
string

Comma-separated list of lifecycle states to include. When omitted, archived events are excluded.

Valid values[ "created", "published", "archived" ]
Examplepublished
updatedSince
string (date-time)

Returns only events whose metadata changed after this timestamp (title, description, status, occurrence and session edits).

Attendee activity does not update this timestamp: registrations, cancellations and attendance marking do not make an event appear in an updatedSince result. To track attendance state, read attendeeCount on the list or use GET /events/user/ref/{ref} per user.

Example2026-01-01T00:00:00Z
Responses
200

A paginated list of events

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 (EventListItem)
object
id
string
Example64a1f2b3c4d5e6f7a8b9c0d1
title
string | null
ExampleLeadership Workshop Q1
type
string
Exampleevent
status
string
Valid values[ "created", "published", "archived" ]
Examplepublished
updatedAt
string (date-time) | null
Example2024-06-15T10:30:00.000Z
occurrenceCount
integer

Total occurrences on the event

Example2
attendeeCount
integer

Distinct users registered across all occurrences, excluding cancellations

Example34
selfRegistrationEnabled
boolean
Exampletrue
400

Invalid status filter

An envelope containing information about the event errors

id
string
ExampleUNIQUEREFERENCE111000
timestamp
string
Example2020-03-09T22:18:26.625Z
eventType
string
Valid values[ "user_joined", "user_updated", "user_suspended" ]
401

Unauthorized

object

Unauthorized

status
number
Example401
error
string
ExampleUnauthorized
message
string
422

Unprocessable Content

object

Unprocessable Content

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