Skip to content

Registrations

A registration is a seat somebody took in a webinar, through the form, a paid ticket order or the API, with what they typed and where they came from. The same person registering again is another registration. Creating one is the webinar’s route (see Create a registration).

GET /public/v1/webinar-registrations

Across every webinar of the organization, or one’s by webinarId.

Filter Narrows to
webinarId One webinar’s.
name, email Containing it.
phone Digits contained in the whole number; phoneCc the calling code exactly.
timezone Exactly.
source, medium, campaign, content, term The UTM tag exactly.
webinarSessionId One session’s registrations.
watchedSeconds Who watched at least this long, session and replay together.
createdAtFrom, createdAtTo Registered in the span.
sessionStartsAtFrom, sessionStartsAtTo Whose session starts in the span.
GET /public/v1/webinar-registrations/:webinarRegistrationId
Field What it is
id, organizationId, webinarId
firstName, lastName, name name is the two together.
email, phoneCc, phoneNumber, phone phone is the two together, +5511987654321; all three empty where none was given.
country Where they registered from, as read off their address; absent where it could not be.
timezone The clock their sessions are read in.
source, medium, campaign, content, term The page’s UTM tags when they registered.
webinarSessionId Their seat: the session, of either method.
sessionStartsAt When that session starts.
selectedSchedule The entry of the webinar’s schedule that names the time they registered for, worked out by Sparkwebinar: type — fixedDate, recurringStandardCron or recurringJustInTimeCron, which names only its next time, and is that time’s however many name it — and value, the date or the cron as the webinar held it. Theirs, whatever the schedule becomes.
webinarTicketOrderId The ticket order they were created from, on a webinar that charges; absent where it is free.
abTestId The A/B test that dealt the form they registered through — on a paid webinar, the form their ticket order was sent from. Absent where no test dealt it, and where they did not come through a form: the dashboard, this API, an order made without one.
accessToken What opens their pages beside their id — below.
conversionCode What a checkout link of your own carries to name them: ?sck=r{conversionCode} (with the r), so a Hotmart sale made through it is counted as theirs. In an automation, ?sck=r{{webinarRegistration.conversionCode}}.
webinarPlayerPageViews, webinarPlays What they did: each opening of the watch page — kind session or replay, when — and each play on it, with watchedSeconds and the offers they clicked.
anonymized Whether what identified them was erased; firstName to phone are then empty.
createdAt When they registered.

Their pages open by their id and their access token: a live’s or an evergreen’s session at /session/<id>?accessToken=<accessToken> on the watch host — watch.sparkwebinar.io, or the domain of your own the webinar is on —, and a survey at /response/<surveyId>/<id>?accessToken=<accessToken> on the surveys host, the same way. The token is theirs: a link with it is a link into their seat.

PATCH /public/v1/webinar-registrations/:webinarRegistrationId

Any of firstName, lastName, email, phoneCc, phoneNumber, timezone, the UTM tags, sessionStartsAt — whichever are sent. The phone is a pair: a half sent is checked against the half that stays. A seat is moved by sending another time of the webinar’s schedule as sessionStartsAt, read in the timezone sent, or the registration’s own —, checked as a new registration’s is, and whatever was counting from the old one — automations waiting for the session — counts from the new. A webinar with its sign-ups paused makes no new session: a time with none yet is refused as WEBINAR_REGISTRATIONS_CLOSED (409); a seat moved into a session it already has goes on — its sessions say which. Sparkwebinar does not accept registrations more than 90 days ahead: a seat moved to a time further off is refused as WEBINAR_REGISTRATION_TOO_FAR_AHEAD (400).

POST /public/v1/webinar-registrations/:webinarRegistrationId/anonymize

What identified the person is erased for good, and nothing brings it back: the name, e-mail and phone are blank — on the registration and on the ticket order that made it —, the country and the avatar absent. Their chat lines stay in no name, the comment beside their rating and their answers in words to surveys are erased, what automations kept of them is erased and the ones still under way are canceled, and the webhook deliveries that told of them are gone. What was already sent to anyone else is theirs to erase.

The registration stays with anonymized: true, and counts as any other: in the registrations quota, in its session and in every number, with its plays, sales and rating, its UTM tags, and its time zone. Its watch and survey links open nothing. Anonymizing one twice answers the same; correcting one is refused as WEBINAR_REGISTRATION_ANONYMIZED (409).

A registration is never deleted.