The availability and booking endpoints require a paid Zeeg subscription. Requests on free plans will be rejected.
End-to-end booking flow
Get your scheduling page details
Retrieve the scheduling page (event type) you want to book against. You need its slug, the owner’s slug, any custom invitee questions, and whether a phone number is required.List all your scheduling pages:Or fetch a specific one by UUID:Example response (key fields highlighted):Take note of:
slug— identifies the event type in subsequent requests (e.g.,30min-discovery-call).profile.slug— the owner’s slug, used asownerSlug(e.g.,lena-meier).inviteeQuestions— custom questions with their numericids. You will pass answers in step 3 usingquestion_id.inviteePhoneNumber—trueif a phone number is required,falseotherwise.
Check available time slots
Query the availability endpoint to find open slots for the scheduling page.Example response:This endpoint requires the
admin:full or timetable scope.Shared event types (Round Robin, Flexi, Collective):- Use
sharedas theownerSluginstead of a specific user’s slug. - A shared scheduling link is addressed the same way: its token is the
eventTypeSlug. - For Round Robin events, add
withHostsCount=1to the query to see how many hosts are available per slot.
- Add
duration=45to override the default meeting duration (useful when the scheduling page supports multiple durations). - Add
seats=3to check availability for group event types that support multiple attendees.
Create the event
Book a slot by sending a This endpoint requires the For
POST request to /event with the slot details and invitee information.admin:full or booking scope.Required fields:Send eventTypeId (the scheduling page’s uuid from step 1) in place of ownerSlug and eventTypeSlug if you prefer. It cannot be combined with them.Optional fields:
Location options:For
IN_PERSON locations, include locationOptions with the meeting address:PHONE_CALL locations, include locationOptions with the call type and a phone number: