Get a single event

Prev Next
Get
/events/{id}

Returns a single event with its occurrences, sessions and attendees.

Large events are capped: at most 50 occurrences, and at most 200 attendees per occurrence. The truncated object reports whether either cap was applied, and occurrenceCount / attendeeCount always report the true totals.

Archived events are returned here, reporting status: archived, so an event listed with ?status=archived can also be fetched.

An event with no sessions scheduled yet returns 200 with occurrenceCount: 0 and an empty occurrences array. 404 means the event id does not exist, or does not refer to an event.

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

The event id

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

The event

Expand All
object
id
string
Example64a1f2b3c4d5e6f7a8b9c0d1
title
string | null
ExampleLeadership Workshop Q1
type
string
Exampleevent
status
string
Valid values[ "created", "published", "archived" ]
Examplepublished
lastUpdatedBy
object | null
id
string | null
Example64a1f2b3c4d5e6f7a8b9c0d2
email
string | null
Exampleauthor@example.com
reference
string | null
ExampleEMP123
eventLog
Array of object

The event's content lifecycle history

object
action
string
ExampleContentPublished
timestamp
string (date-time)
Example2024-01-12T14:00:00.000Z
performedBy
object
type
string
Exampleuser
value
string
Example64a1f2b3c4d5e6f7a8b9c0d2
createdAt
string (date-time)
Example2024-01-10T09:00:00.000Z
updatedAt
string (date-time) | null
Example2024-06-15T10:30:00.000Z
selfRegistrationEnabled
boolean
Exampletrue
managerTeamEnrolmentEnabled
boolean
Exampletrue
isCancellationRestricted
boolean
Exampletrue
cancellationPeriod
integer | null
Example2
waitlistDisabled
boolean | null
Examplefalse
canReshare
boolean | null
Exampletrue
isAllowedToComment
boolean | null
Exampletrue
occurrenceCount
integer
Example2
attendeeCount
integer
Example34
occurrences
Array of object (EventOccurrence)

Capped at 50. Compare occurrenceCount to detect a capped list.

object
id
string
Example64a1f2b3c4d5e6f7a8b9c0d3
label
string | null
ExampleSession A - London
timezone
string | null
ExampleEurope/London
spaces
integer | null
Example20
hosts
Array of object (EventUserRef)
object
userId
string
Example64a1f2b3c4d5e6f7a8b9c0d4
ref
string | null
ExampleHOST_REF_99
sessions
Array of object (EventSession)
object
id
string
Example64a1f2b3c4d5e6f7a8b9c0d5
location
string | null

Where the session is held. For a webinar this is the join URL rather than a physical address — prefer meetingUrl, which normalises both cases.

ExampleMeeting Room 3, 123 Example St
startDateTime
string (date-time)
Example2024-07-01T09:00:00.000Z
endDateTime
string (date-time)
Example2024-07-01T11:00:00.000Z
isWebinar
boolean
Examplefalse
isVirtual
boolean

True for a webinar, or when a meeting provider URL is set

Examplefalse
meetingUrl
string | null

The third-party provider URL when one is integrated, otherwise the webinar join URL. Null for an in-person session. Matches the meetingUrl on GET /events/user/ref/{ref}.

Exampleopenapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464
attended
Array of string

User ids marked as attended. Join these against the occurrence's attendees[].userId to recover each user's external ref.

Example[ "64a1f2b3c4d5e6f7a8b9c0d6" ]
string
notAttended
Array of string

User ids marked as not attended

Example[]
string
attendees
Array of object (EventAttendee)

Capped at 200 per occurrence, non-cancelled attendees first, so live registrations are never displaced by historic cancellations. Read truncated.attendees on the event to detect a capped list; attendeeCount excludes cancellations and so cannot be compared against this array's length. Use GET /events/{id}/occurrences/{occurrenceId}/attendees to page through the full list.

object
userId
string
Example64a1f2b3c4d5e6f7a8b9c0d6
ref
string | null

The user's external reference, or null when unset

ExampleNANDOCA_12345
status
string
Valid values[ "registered", "attended", "notAttended", "cancelled" ]
Exampleattended
createdAt
string (date-time)
Example2024-06-01T08:00:00.000Z
cancellationReason
string | null
Exampleopenapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464
cancelledAt
string (date-time) | null
Exampleopenapi-json-null-sentinel-value-2BF93600-0FE4-4250-987A-E5DDB203E464
attendeeCount
integer

Total non-cancelled attendees, ignoring the response cap

Example34
truncated
object (EventTruncation)

Reports whether the response hit either size cap.

occurrences
boolean
Examplefalse
attendees
boolean
Examplefalse
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