An OfferEvent
is a concrete entry point within a registration offer (Offer
). Users register for an OfferEvent
, which can be linked to one or more content items (such as a training, course, or external content). Each event can contain multiple OfferEventDate
s: these are the scheduled sessions or contact moments.
Retrieves one specific event, including dates, linked content, and availability.
query {
offerEvent(id: "uuid-here") {
id
title
dates {
start
end
}
contentTitle
spotsAvailable
}
}
Shows all entry points linked to a specific offer.
query {
offer(id: "uuid-here") {
offerEvents {
id
title
}
}
}
Creates a new OfferEvent
within a specific offer. Here you also link content (such as a training or course).
mutation {
createOfferEvent(
offerEvent: {
offerId: "uuid-of-offer"
title: "Starting Moment September"
contentId: "uuid-of-training"
contentType: TRAINING
maxParticipants: 25
}
) {
offerEvent {
id
title
contentTitle
}
}
}
Adds one or more dates to an existing event, such as a workshop day or online session.
mutation {
createOfferEventDate(
offerEventDate: {
offerEventId: "uuid-event"
start: "2025-09-12T09:00:00Z"
end: "2025-09-12T12:00:00Z"
}
) {
offerEventDate {
id
start
end
}
}
}
Changes the properties of an existing event, such as title or limits.
mutation {
updateOfferEvent(
id: "uuid-here"
offerEvent: {
title: "New title"
maxParticipants: 30
}
) {
offerEvent {
id
title
}
}
}
Makes one or more events inactive.
mutation {
archiveOfferEvents(
archive: true
ids: ["uuid-1", "uuid-2"]
) {
response {
succeededIds
failedIds
}
}
}
OfferEvent
Describes one registrable entry point for an Offer
.
type OfferEvent {
id: ID!
ref: String
title: String
offerId: ID!
contentId: ID
contentType: ContentType
dates: [OfferEventDate!]
isActive: Boolean
maxParticipants: Int
enrolledCount: Int
spotsAvailable: Int
contentTitle: String
}
OfferEventDate
Provides date/time information for sessions within an event.
type OfferEventDate {
id: ID!
offerEventId: ID!
start: DateTime!
end: DateTime!
}
createOfferEvent(offerEvent: CreateOfferEventInput!): CreateOfferEventPayload
updateOfferEvent(id: UUID!, offerEvent: UpdateOfferEventInput!): UpdateOfferEventPayload
archiveOfferEvents(archive: Boolean!, ids: [UUID!]!): ArchiveOfferEventsPayload
createOfferEventDate(offerEventDate: CreateOfferEventDateInput!): CreateOfferEventDatePayload
updateOfferEventDate(id: UUID!, offerEventDate: UpdateOfferEventDateInput!): UpdateOfferEventDatePayload
deleteOfferEventDates(ids: [UUID!]!): DeleteOfferEventDatesPayload
OfferEvent
can contain multiple OfferEventDate
s.enrollments
at the OfferEvent
level.TRAINING
, COURSE
, EXTERNAL_CONTENT
, etc.