openapi: 3.0.0 info: title: LeanData BookIt 🗓️ Availability 🗓️ Availability 📆 Meetings > Create API description: Programmatic scheduling, availability lookup, and meeting management for the LeanData BookIt scheduling product. Power custom UIs with server-to-server access to availability, round-robin, and meeting CRUD. version: 1.0.0 servers: - url: https://api.leandata.com tags: - name: 📆 Meetings > Create description: '
Use these endpoints to finalize and book meetings after a timeslot has been selected.
⚠️ Important: You must support both POST /v1/meeting and POST /v1/round-robin-meeting.
The correct endpoint is determined by the availability response:
If pageInfo.displayAllPoolAvailability = true, you must book using POST /v1/round-robin-meeting.
If pageInfo.displayAllPoolAvailability = null or false, you must book using POST /v1/meeting.
This behavior is driven by your scheduling graph configuration and cannot be assumed ahead of time.
' paths: /v1/meeting: post: tags: - 📆 Meetings > Create summary: v1/meeting description: 'This endpoint is used to book a meeting with a single rep who has already been assigned by your routing logic. The routing graph has selected the most appropriate user for the prospect based on your configuration—this endpoint simply finalizes the booking.
⚠️ Use this endpoint only when pageInfo.displayAllPoolAvailability = null or false in the availability response.
If pageInfo.displayAllPoolAvailability = true, you must instead call POST /v1/round-robin-meeting.
The request payload contains the encrypted scheduling context, the selected time window, prefilled user data, and optional links to support canceling or rescheduling the meeting after it''s booked.
❗️ If your availability response indicates pageInfo.displayAllPoolAvailability = true, you must book using POST /v1/round-robin-meeting instead of this endpoint.
This endpoint supports three request modes. Your request body must include exactly one of:
token (recommended)
linkId
params (legacy)
userFields Important Notes:You should return one userField object for each required, defined field in the formFields array (i.e., any field with a name value, any field with a required: true value).
First Name, Last Name, and Email are required by default and must be included.
If a field in formFields is undefined (e.g., has an empty name), it should be excluded from userFields.
name — A string that represents the field label (e.g. "First Name").
type — A string indicating the field type (text, textarea, etc.).
value — A string (or array, depending on field type) representing the entered value.
Additional Guest Emails, this should be an array of strings, each representing an email address.❗️Exactly one of token, linkId, or params must be provided. Do not send more than one.
params mode)cancelLink / rescheduleLinkThese links will be included in the confirmation email sent to the prospect. The values must be the base URL-- You can include any query parameters you''d like in the base URL. The BookIt system will automatically append the meetingId to the end of the URL.
❗️ Note: Make sure the base URL is formatted to support appending the meetingId correctly, depending on whether you want it as a path or a query parameter.
If you''d like the meetingId added as a path segment, provide a trailing slash (e.g. https://example.com/cancel/). The result will be https://example.com/cancel/123.
If you''d like the meetingId added as a query parameter, include the key in the base URL (e.g. https://example.com/cancel?utm_source=email&meetingId=). BookIt will append the value (e.g. https://example.com/cancel?utm_source=email&meetingId=123).
meetingId — A string representing the unique identifier for the booked meeting.
organizerEmail — A string containing the email address of the assigned rep who will host the meeting.
This endpoint is used to book a meeting with a user from a round robin pool. If your routing logic has determined that a pool of users should be considered for this meeting, this endpoint handles the final assignment and booking of the meeting with the most appropriate available user.
💡 Use this endpoint when the availability response indicates pageInfo.displayAllPoolAvailability is true.
The request payload includes the encrypted scheduling context, the chosen time window, prefilled prospect data, and optional links for canceling or rescheduling the meeting after booking.
❗️Exactly one of token, linkId, or params must be provided. Do not send more than one.
params mode)cancelLink / rescheduleLinkThese links will be included in the confirmation email sent to the prospect. The values must be the base URL-- You can include any query parameters you''d like in the base URL. The BookIt system will automatically append the meetingId to the end of the URL.
❗️ Note: Make sure the base URL is formatted to support appending the meetingId correctly, depending on whether you want it as a path or a query parameter.
If you''d like the meetingId added as a path segment, provide a trailing slash (e.g. https://example.com/cancel/). The result will be https://example.com/cancel/123.
If you''d like the meetingId added as a query parameter, include the key in the base URL (e.g. https://example.com/cancel?utm_source=email&meetingId=). BookIt will append the value (e.g. https://example.com/cancel?utm_source=email&meetingId=123).
meetingId — A string representing the unique identifier for the booked meeting.
organizerEmail — A string containing the email address of the assigned rep who will host the meeting.
selectedUserId — A string representing the Salesforce user ID of the rep selected from the round robin pool to host the meeting.