LeanData Legacy (still supported) API

This section outlines the endpoints used to retrieve scheduling data for building a custom calendaring experience. Both endpoints return the same structure of read-only information—including scheduling metadata, working hours, available time slots, and configured users—that can be used to render the scheduling page. v1/scheduling/retrieve-info — Use this endpoint when booking a meeting for the first time. v1/scheduling/retrieve-modification-info — Use this endpoint when modifying an existing meeting, such as rescheduling or canceling. These endpoints provide all the data needed to power the UI for selecting a meeting time and pre-populating prospect details.

OpenAPI Specification

leandata-legacy-still-supported-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: LeanData BookIt 🗓️ Availability 🗓️ Availability Legacy (still supported) 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: Legacy (still supported)
  description: '<p>This section outlines the endpoints used to retrieve scheduling data for building a custom calendaring experience. Both endpoints return the same structure of <strong>read-only</strong> information—including scheduling metadata, working hours, available time slots, and configured users—that can be used to render the scheduling page.</p>

    <ul>

    <li><p><strong><code>v1/scheduling/retrieve-info</code></strong> — Use this endpoint <strong>when booking a meeting</strong> <strong>for the first time</strong>.</p>

    </li>

    <li><p><strong><code>v1/scheduling/retrieve-modification-info</code></strong> — Use this endpoint <strong>when modifying an existing meeting</strong>, such as rescheduling or canceling.</p>

    </li>

    </ul>

    <p>These endpoints provide all the data needed to power the UI for selecting a meeting time and pre-populating prospect details.</p>

    '
paths:
  /v1/scheduling/route:
    post:
      tags:
      - Legacy (still supported)
      summary: /v1/scheduling/route (legacy)
      description: '<p><strong>Legacy routing-only endpoint</strong>. Runs routing and returns routing results as encrypted token, but does not return availability. Existing integrations may continue using this endpoint. For new builds, prefer <code>POST /v1/scheduling/route-and-fetch-availability</code>.</p>

        <p>Depending on the concluding routing decision, this endpoint will either return data needed to query for the next endpoint, a redirect link, or an indication to render your fallback experience.</p>

        <p><strong>Typical follow-up:</strong>  </p>

        <p>Call <code>POST /v1/scheduling/retrieve-info</code> (legacy) or use the combined endpoint instead.</p>

        <hr />

        <h4 id="request-body-parameters">Request Body Parameters</h4>

        <ul>

        <li><p><code>_ld_nodeName</code> (required) — A <strong>string</strong> value that contains the name of your Trigger Node (in the BookIt Flowbuilder)</p>

        </li>

        <li><p><code>_ld_uid</code> (required) — A <strong>string</strong> value that contains your <a href="https://bookit-api.leandata.com/#37d94fab-525c-42e3-bdb2-6cf656f8d7f0">BookIt Unique Log ID</a>.</p>

        </li>

        <li><p><code>formData</code> (required) — An <strong>object</strong> that contains the prospect data needed for the BookIt Flowbuilder and routing process.</p>

        <ul>

        <li>All keys (case-sensitive) must exactly match API Field Names defined in your Trigger Node within your BookIt Flowbuilder. For more information, check out the <a href="https://leandatahelp.zendesk.com/hc/en-us/articles/5987002499995-New-Prospect-Trigger-Node">Trigger Node Implementation guide</a>.</li>

        </ul>

        </li>

        </ul>

        <hr />

        <h4 id="response-body-parameters">Response Body Parameters</h4>

        <ul>

        <li><p><code>responseType</code> — A <strong>string</strong> that indicates the routing outcome determined by the BookIt routing graph. Possible values are:</p>

        <ul>

        <li><p><code>"calendar"</code> — The routing graph reached a <strong>"Schedule"</strong> node. Encrypted scheduling parameters are returned in the <code>params</code> field.</p>

        </li>

        <li><p><code>"redirect"</code> — The routing graph reached a <strong>"Redirect to URL"</strong> node. A redirect URL is returned in the <code>redirect</code> field.</p>

        </li>

        <li><p><code>"none"</code> — The routing graph reached an <strong>"End of Flow"</strong> node. No scheduling or redirect data is returned. This can be used to trigger a fallback experience in your UI.</p>

        </li>

        </ul>

        </li>

        <li><p><code>params</code> <em>(optional)</em> — A <strong>string</strong> value that is base64-encoded and acts as a token for retrieving the scheduling page data the subsequent API call.</p>

        <ul>

        <li><p>Only present when <code>responseType</code> is <code>"calendar"</code>.</p>

        </li>

        <li><p>This value should be passed to the appropriate scheduling endpoint to retrieve the full scheduling page configuration.</p>

        </li>

        <li><p>You <strong>do</strong> <strong>not</strong> need to decrypt this string manually.</p>

        </li>

        </ul>

        </li>

        <li><p><code>redirect</code> <em>(optional)</em> — A <strong>string</strong> containing the URL configured in the <strong>"Redirect to URL"</strong> node of the BookIt routing graph.</p>

        <ul>

        <li><p>Only present when <code>responseType</code> is <code>"redirect"</code>.</p>

        </li>

        <li><p>Redirect users to this URL to continue the scheduling process as defined by your routing configuration.</p>

        </li>

        </ul>

        </li>

        </ul>

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                _ld_nodeName: API Demo
                _ld_uid: 6f1df9c8-479d-44e0-b98c-2f329b3d6ac8
                formData:
                  state: California
                  phone: '1234567899'
                  email: test@test.com
                  lastname: pool
                  firstname: Test
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/scheduling/retrieve-info:
    post:
      tags:
      - Legacy (still supported)
      summary: /v1/scheduling/retrieve-info (legacy)
      description: '<p><strong>Use this endpoint when booking a meeting for the first time.</strong> This endpoint returns comprehensive scheduling data needed to build a booking experience, including meeting configuration, host availability, and user information. This data enables the construction of a scheduling page with available time slots, host details, working hours, and meeting parameters.</p>

        <hr />

        <h4 id="request-body-parameters">Request Body Parameters</h4>

        <ul>

        <li><code>params</code> (required) — A <strong>string</strong> that contains encrypted details of the scheduling context. This should be the value that was returned from the <code>/v1/scheduling/route</code> endpoint.</li>

        </ul>

        <hr />

        <h4 id="response-body-parameters">Response Body Parameters</h4>

        <ul>

        <li><p><code>meeting</code> — An <strong>object</strong> that contains metadata about the meeting type.</p>

        <ul>

        <li><p>❗️<strong>Note:</strong> All data in the <code>meeting</code> object is sourced directly from the <strong>Meeting Type c</strong>onfiguration in the LeanData application. If any updates or changes are needed to this information—such as duration, description, buffer settings, etc.—they must be made in the LeanData application under the corresponding <strong>Meeting Type</strong> configuration. This data cannot be modified through the API.</p>

        </li>

        <li><p><code>name</code> — A <strong>string</strong> that contains the name of the meeting type</p>

        </li>

        <li><p><code>duration</code> — An <strong>object</strong> that describes the meeting duration</p>

        <ul>

        <li><p><code>unit</code> — A <strong>string</strong> that represents the time unit. (e.g. <code>min</code>)</p>

        </li>

        <li><p><code>value</code> — A <strong>number</strong> that represents the duration value</p>

        </li>

        </ul>

        </li>

        <li><p><code>formFields</code> — An <strong>array of 9 form field objects</strong> that represent the input fields required to finalize the booking of the meeting. These form fields should appear on the <strong>final confirmation screen</strong> before the meeting is booked as these form values are used as variables in confirmation emails. LeanData will also use these values to send the confirmation email to. The fields are configured in the <strong>Meeting Type</strong> configuration under the "<strong>Additional Questions</strong>" tab in the LeanData application— The default and required form fields are <code>First Name</code>, <code>Last Name</code>, <code>Email</code>, and <code>Additional Guest Emails</code>. Admins can configure up to 5 <strong>additional custom questions.</strong></p>

        <ul>

        <li><p>The fields that represent the optional additional questions will have a property of <code>isAdditionalQuestion: true</code>. If no additional questions are configured in the Meeting Type, these fields will have empty <code>name</code> values and should be treated as unused.</p>

        </li>

        <li><p>❗️ <strong>Important</strong>: You must send back values for <strong>all defined fields</strong> when booking a meeting.</p>

        <ul>

        <li><p>If only the default fields are configured (First Name, Last Name, Email, and Guest Emails), then only those 4 values need to be returned.</p>

        </li>

        <li><p>If any optional questions are configured, values for those must also be included in the booking request.</p>

        </li>

        </ul>

        </li>

        <li><p><code>name</code> — A <strong>string</strong> of the Field label.</p>

        </li>

        <li><p><code>type</code> — A <strong>string</strong> that represents the input type (e.g., <code>text</code>)</p>

        </li>

        <li><p><code>readOnly</code> — A <strong>boolean</strong> that signifies whether a field can be edited. This value is based on the settings defined in the Meeting Type configuration.</p>

        </li>

        <li><p><code>required</code> — A <strong>boolean</strong> that signifies whether a field is mandatory. This value is based on the settings defined in the Meeting Type configuration.</p>

        </li>

        <li><p><code>validation</code> — An optional <strong>string</strong> that represents the type of validation to apply to the input. The only supported value is <code>email</code>, which signals that the input should be validated as a properly formatted email address. If no value is provided, standard text validation (e.g., checking for non-empty input if the field is required) is assumed.</p>

        </li>

        <li><p><code>isAdditionalQuestion</code> — A <strong>boolean</strong> that signifies whether the field is an additional custom question</p>

        </li>

        </ul>

        </li>

        <li><p><code>description</code> — A <strong>string</strong> that contains the calendar event description</p>

        </li>

        <li><p><code>customRange</code> — An <strong>object</strong> specifying a custom date range available for booking.</p>

        <ul>

        <li><p><code>startTime</code> — A <strong>number</strong> (UNIX timestamp) for when the date range begins</p>

        </li>

        <li><p><code>endTime</code> — A <strong>number</strong> (UNIX timestamp) for when the date range ends.</p>

        </li>

        <li><p><code>timezone</code> — A <strong>string</strong> representing the timezone used in the <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List">IANA Time Zone Database</a> format. (e.g. <code>America/Los_Angeles</code>)</p>

        </li>

        </ul>

        </li>

        <li><p><code>redirectURL</code> — A <strong>string</strong> URL that is set in the Meeting Type configuration. This is the URL where the prospect should be redirect to upon successful booking.</p>

        </li>

        <li><p><code>internalName</code> — A <strong>string</strong> used internally to identify the meeting type. This is set in the Meeting Type configuration.</p>

        </li>

        <li><p><code>pageStyle</code> — An <strong>object</strong> that defines branding settings for the scheduling page. This is set in the LeanData application.</p>

        <ul>

        <li><code>styleColor</code> — A <strong>string</strong> representing the primary hex color code used to theme UI elements (e.g. buttons, highlights) on the scheduling page.</li>

        </ul>

        </li>

        <li><p><code>logo</code> — A <strong>string</strong> representing the URL of the company logo (uploaded in the LeanData application) to be displayed on the scheduling page. If empty, no logo was uploaded to the application.</p>

        </li>

        </ul>

        </li>

        <li><p><code>pageInfo</code> — An <strong>object</strong> that contains general page metadata.</p>

        <ul>

        <li><p><code>displayAllPoolAvailability</code> — A <strong>boolean/null</strong> that indicates to show all availability for all pool members. If this value is <code>true</code>, then you will need to use the <code>/v1/round-robin-meeting</code> endpoint to book the meeting.</p>

        </li>

        <li><p><code>round robin pool id</code> — A <strong>string/null</strong> that contains the ID of round-robin scheduling pool if applicable</p>

        </li>

        <li><p><code>userIds</code> — An <strong>array</strong> that contains user IDs involved in the meeting (hosts or pool members). This array can be used to display representative names on the scheduling calendar.</p>

        <ul>

        <li><strong>Note:</strong> If the array is <strong>empty</strong>, it indicates that the meeting is being scheduled with a round robin pool, and the final rep has not yet been selected. The actual rep will be determined later based on the selected time slot, availability, and pool assignment logic.</li>

        </ul>

        </li>

        <li><p><code>prefillFields</code> — An <strong>object</strong> that contains form submission data for the prospect, specifically their <code>"First Name"</code>, <code>"Last Name"</code>, and <code>"Email"</code>. These values can be used to pre-populate the prospect''s information before finalizing the meeting booking.</p>

        <ul>

        <li><strong>Note</strong>: to receive these pre-populated values, your Trigger Node form fields must be mapped to our default First Name, Last Name, Email variables.</li>

        </ul>

        </li>

        </ul>

        </li>

        <li><p><code>availability</code> — An <strong>object</strong> that contains available time slots and a mapping of user indices to user IDs.</p>

        <ul>

        <li><p>❗️<strong>Note:</strong> If this object is empty, then this is an indicator that either the meeting type expired or there are no availability in the pool (e.g. all members are on vacations). In this scenario, please revert to your fallback experience.</p>

        </li>

        <li><p><code>indexToUserIdMap</code> — An <strong>object</strong> that maps numeric indices (used in <code>timeSlots.users</code>) to user IDs from the <code>userIdToInfoMap</code> object.</p>

        </li>

        <li><p><code>timeSlots</code> — An <strong>array</strong> of time slot objects that represent available meeting windows. You can use this data to render available times on your scheduling UI.</p>

        <ul>

        <li><p><code>start_time</code> — A <strong>number</strong> that represents the start time in Unix epoch milliseconds.</p>

        </li>

        <li><p><code>end_time</code> — A <strong>number</strong> that represents the end time in Unix epoch milliseconds.</p>

        </li>

        <li><p><code>users</code> — An <strong>array</strong> of <strong>numbers</strong> that reference user indices from <code>indexToUserIdMap</code>. These represent the users who are available during this time slot.</p>

        <ul>

        <li>❗️<strong>Note:</strong> You''ll need to use the corresponding user IDs (from <code>indexToUserIdMap</code>) as part of the request payload when booking the meeting.</li>

        </ul>

        </li>

        </ul>

        </li>

        </ul>

        </li>

        <li><p><code>userIdToInfoMap</code> — An <strong>object</strong> that maps user IDs to user-specific details used for scheduling.</p>

        <ul>

        <li><p>❗️<strong>Note:</strong> The information in <code>userIdToInfoMap</code> is <em><strong>not required</strong></em> to build the core calendar UI. It is provided as supplementary context.</p>

        </li>

        <li><p><code>[userId]</code> — An <strong>object</strong> where each key is a user ID and each value is a user object.</p>

        <ul>

        <li><p><code>FirstName</code> — A <strong>string</strong> that represents the user''s first name.</p>

        </li>

        <li><p><code>LastName</code> — A <strong>string</strong> that represents the user''s last name.</p>

        </li>

        <li><p><code>Email</code> — A <strong>string</strong> that represents the user''s email address.</p>

        </li>

        <li><p><code>TimeZoneSidKey</code> — A <strong>string</strong> that represents the user''s primary time zone, using the <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List">IANA Time Zone Database</a> format. (e.g. <code>America/Los_Angeles</code>)</p>

        </li>

        <li><p><code>ConferenceLink</code> — A <strong>string</strong> that represents the user''s conferencing URL</p>

        </li>

        </ul>

        </li>

        </ul>

        </li>

        </ul>

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                params: nrnDRrVpi6nUm+gY7Lw1BZQZy9kfhw4IdS7sIIwN6d2ft5qxOweTl78xlhFaJB02xSw/7eocYRiNWO+RSlsVjLk+EK4Dek7jnUxQnsJktz3fV6N47WjcN0hvmYXVs1t97XvgdfrvasqhfM6VYrgmQwDquxf8MH06URvXxVtcSpKi98X3jYG4S/R10nz9S1upt1XhVpMu+vSeLhS4kNMM5s1fWlVVZLEvHb0T5x8ZV1gkSUDZ33tZsIbBInrGuZ/382TI6behsySaNaW3fpPap1y8vXgM3V9JH2YlM6S9VDvDFJ7TYbhdglVnsTHHZpEeRGcMoY7cnD3VSHKdG4aA/tgYWkJiNQShFIV7CTHD3alvVALdGhEP/XHFQsrAhbfu52+Vm7vRdyrqMCWIUOWCNcQzQBDqP63S2pKltNGZUrM4xj0WJfTMNd4z/5O5jjRYC1s1TvleepGPYM0OeLu+E6Fmpi5jVlHKSCI7oMK4Pgtt8uSXHt4JP3OoJjuHt8IDB9xVKXA/tdWL/utiTyexjRlkOpnj8wobVU+8mDyxq9bG7ytLJBrhx1gvTx0k157C
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /v1/scheduling/retrieve-modification-info:
    post:
      tags:
      - Legacy (still supported)
      summary: v1/scheduling/retrieve-modification-info (legacy)
      description: '<p>This endpoint returns the same scheduling payload as <code>v1/scheduling/retrieve-info</code>, but is specifically <strong>used when rescheduling or canceling an existing meeting</strong>. Use this endpoint to retrieve all necessary data to re-render the scheduling UI in a modification flow.</p>

        <hr />

        <h4 id="request-body-parameters">Request Body Parameters</h4>

        <ul>

        <li><p><code>eventId</code> (required) — A <strong>string</strong> representing the unique identifier of the booked meeting. This should be the <code>eventId</code> returned from a successful booking via the <code>/v1/meeting</code> or <code>/v1/round-robin-meeting</code> endpoints. It is required to retrieve the scheduling information for rescheduling or canceling the meeting.</p>

        <ul>

        <li>❗️<strong>Note:</strong> The BookIt API appends the <code>eventId</code> to the end of the <code>rescheduleLink</code> and <code>cancelLink</code> (provided during booking), which are sent to the prospect in the post-scheduling emails. When the prospect clicks one of these links, they are directed to your reschedule or cancel page. You can extract the <code>eventId</code> directly from the URL when the page loads.</li>

        </ul>

        </li>

        </ul>

        <hr />

        <h4 id="response-body-parameters">Response Body Parameters</h4>

        <ul>

        <li><p><code>event</code> — An <strong>object</strong> representing the existing meeting being modified</p>

        <ul>

        <li><p><code>id</code> — A <strong>string</strong> unique identifier for the meeting.</p>

        </li>

        <li><p><code>status</code> — A <strong>string</strong> representing the meeting status (e.g., <code>"confirmed"</code>).</p>

        </li>

        <li><p><code>when</code> — An <strong>object</strong> indicating the start and end times.</p>

        <ul>

        <li><p><code>start_time</code> — A <strong>number</strong> (UNIX timestamp) for when the meeting starts.</p>

        </li>

        <li><p><code>end_time</code> — A <strong>number</strong> (UNIX timestamp) for when the meeting ends.</p>

        </li>

        </ul>

        </li>

        <li><p><code>organizer_email</code> — A <strong>string</strong> representing the email of the meeting organizer.</p>

        </li>

        </ul>

        </li>

        <li><p><code>meeting</code> — An <strong>object</strong> that contains configuration details about the meeting type.</p>

        <ul>

        <li><p>❗️<strong>Note:</strong> All data in the <code>meeting</code> object is sourced directly from the <strong>Meeting Type c</strong>onfiguration in the LeanData application. If any updates or changes are needed to this information—such as duration, description, buffer settings, etc.—they must be made in the LeanData application under the corresponding Meeting Type configuration. This data cannot be modified through the API.</p>

        </li>

        <li><p><code>name</code> — A <strong>string</strong> that contains the name of the meeting type</p>

        </li>

        <li><p><code>duration</code> — An <strong>object</strong> that describes the meeting duration</p>

        <ul>

        <li><p><code>unit</code> — A <strong>string</strong> that represents the time unit. (e.g. <code>min</code>)</p>

        </li>

        <li><p><code>value</code> — A <strong>number</strong> that represents the duration value</p>

        </li>

        </ul>

        </li>

        <li><p><code>formFields</code> — An <strong>array of 9 form field objects</strong> that represent the input fields required to finalize the booking of the meeting. These form fields should appear on the <strong>final confirmation screen</strong> before the meeting is booked as these form values are used as variables in confirmation emails. LeanData will also use these values to send the confirmation email to. The fields are configured in the <strong>Meeting Type</strong> configuration under the "<strong>Additional Questions</strong>" tab in the LeanData application— The default and required form fields are <code>First Name</code>, <code>Last Name</code>, <code>Email</code>, and <code>Additional Guest Emails</code>. Admins can configure up to 5 <strong>additional custom questions.</strong></p>

        <ul>

        <li><p>The fields that represent the optional additional questions will have a property of <code>isAdditionalQuestion: true</code>. If no additional questions are configured in the Meeting Type, these fields will have empty <code>name</code> values and should be treated as unused.</p>

        </li>

        <li><p>❗️ <strong>Important</strong>: You must send back values for <strong>all defined fields</strong> when booking a meeting.</p>

        <ul>

        <li><p>If only the default fields are configured (First Name, Last Name, Email, and Guest Emails), then only those 4 values need to be returned.</p>

        </li>

        <li><p>If any optional questions are configured, values for those must also be included in the booking request.</p>

        </li>

        </ul>

        </li>

        <li><p><code>name</code> — A <strong>string</strong> of the Field label.</p>

        </li>

        <li><p><code>type</code> — A <strong>string</strong> that represents the input type (e.g., <code>text</code>)</p>

        </li>

        <li><p><code>readOnly</code> — A <strong>boolean</strong> that signifies whether a field can be edited. This value is based on the settings defined in the Meeting Type configuration.</p>

        </li>

        <li><p><code>required</code> — A <strong>boolean</strong> that signifies whether a field is mandatory. This value is based on the settings defined in the Meeting Type configuration.</p>

        </li>

        <li><p><code>validation</code> — An optional <strong>string</strong> that represents the type of validation to apply to the input. The only supported value is <code>email</code>, which signals that the input should be validated as a properly formatted email address. If no value is provided, standard text validation (e.g., checking for non-empty input if the field is required) is assumed.</p>

        </li>

        <li><p><code>isAdditionalQuestion</code> — A <strong>boolean</strong> that signifies whether the field is an additional custom question</p>

        </li>

        </ul>

        </li>

        <li><p><code>description</code> — A <strong>string</strong> that contains the calendar event description</p>

        </li>

        <li><p><code>customRange</code> — An <strong>object</strong> specifying a custom date range available for booking.</p>

        <ul>

        <li><p><code>startTime</code> — A <strong>number</strong> (UNIX timestamp) for when the date range begins</p>

        </li>

        <li><p><code>endTime</code> — A <strong>number</strong> (UNIX timestamp) for when the date range ends.</p>

        </li>

        <li><p><code>timezone</code> — A <strong>string</strong> representing the timezone used in the <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List">IANA Time Zone Database</a> format. (e.g. <code>America/Los_Angeles</code>)</p>

        </li>

        </ul>

        </li>

        <li><p><code>redirectURL</code> — A <strong>string</strong> URL that is set in the Meeting Type Configuration. This is the URL where the prospect should be redirect to upon successful booking.</p>

        </li>

        <li><p><code>internalName</code> — A <strong>string</strong> used internally to identify the meeting type. This is set in the Meeting Type Configuration.</p>

        </li>

        <li><p><code>pageStyle</code> — An <strong>object</strong> that defines branding settings for the scheduling page. This is set in the LeanData application.</p>

        <ul>

        <li><code>styleColor</code> — A <strong>string</strong> representing the primary hex color code used to theme UI elements (e.g. buttons, highlights) on the scheduling page.</li>

        </ul>

        </li>

        <li><p><code>logo</code> — A <strong>string</strong> representing the URL of the company logo (uploaded in the LeanData application) to be displayed on the scheduling page. If empty, no logo was uploaded to the application.</p>

        </li>

        </ul>

        </li>

        <li><p><code>pageInfo</code> — An <strong>object</strong> that contains metadata related to the current scheduling request.</p>

        <ul>

        <li><p><code>displayAllPoolAvailability</code> — will always be <strong>null</strong> since the round robin pool member (if applicable) was already selected in the initial booking.</p>

        </li>

        <li><p><code>round robin pool id</code> — will always be <strong>null</strong> since the round robin pool member was already selected in the initial booking.</p>

        </li>

        <li><p><code>userIds</code> — An <strong>array</strong> that contains the IDs of users involved in the meeting (hosts or pool members) This array can be used to display representative names on the scheduling calendar.</p>

        </li>

        <li><p><code>prefillFields</code> — An <strong>object</strong> that contains form submission data for the prospect, specifically their <code>"First Name"</code>, <code>"Last Name"</code>, and <code>"Email"</code>. These values can be used to pre-populate the prospect''s information before finalizing the meeting booking.</p>

        <ul>

        <li><strong>Note</strong>: to receive these pre-populated values, your Trigger Node form fields must be mapped to our default First Name, Last Name, Email variables.</li>

        </ul>

        </li>

        <li><p><code>isReschedule</code> — A <strong>boolean</strong> indicating if the current booking is an attempt to reschedule.</p>

        </li>

        <li><p><code>scheduledTime</code> — A <strong>stringified object</strong> containing:</p>

        <ul>

        <li><p><code>startDateTime</code> — A <strong>string</strong> timestamp for the start of the meeting.</p>

        </li>

        <li><p><code>endDateTime</code> — A <strong>string</strong> timestamp for the end of the meeting.</p>

        </li>

        <li><p><code>timezone</code> — A <strong>string</strong> for the time zone used (e.g.,<code>"America/Los_Angeles"</code>).</p>

        </li>

        </ul>

        </li>

        <li><p><code>hostId</code> — A <strong>string</strong> representing the SFDC user ID hosting the meeting.</p>

        </li>

        </ul>

        </li>

        <li><p><code>availability</code> — An <strong>object</strong> that contains available time slots and a mapping of user indices to user IDs.</p>

        <ul>

        <li><p><code>indexToUserIdMap</code> — An <strong>object</strong> that maps numeric indices (used in <code>timeSlots</code>) to user IDs from the <code>users</code> object.</p>

        </li>

        <li><p><code>timeSlots</code> — An <strong>array</strong> of time slot objects that represent available meeting windows. You can use this data to render available times on your scheduling UI.</p>

        <ul>

        <li><p><code>start_time</code> — A <strong>number</strong> that represents the start time in Unix epoch milliseconds.</p>

        </li>

        <li><p><code>end_time</code> — A <strong>number</strong> that represents the end time in Unix epoch milliseconds.</p>

        </li>

        <li><p><code>users</code> — An <strong>array</strong> of <strong>numbers</strong> that reference user indices from <code>indexToUserIdMap</code>. These represent the users who are available during this time slot. You''ll need to use the corresponding user IDs (from <code>indexToUserIdMap</code>) as part of the request payload when booking the meeting.</p>

        </li>

        </ul>

        </li>

        </ul>

        </li>

        <li><p><code>userIdToInfoMap</code> — An <strong>object</strong> that maps user IDs to user-specific details used for scheduling.</p>

        <ul>

        <li><p>❗️<strong>Note:</strong> The information in <code>userIdToInfoMap</code> is <em><strong>not required</strong></em> to build the core calendar UI. It is provided as supplementary context.</p>

        </li>

        <li><p><code>[userId]</code> — An <strong>object</strong> where each key is a user ID and each value is a user object.</p>

        <ul>

        <li><p><code>FirstName</code> — A <strong>string</strong> that represents the user''s first name.</p>

        </li>

        <li><p><code>LastName</code> — A <strong>string</strong> that represents the user''s last name.</p>

        </li>

        <li><p><code>Email</code> — A <strong>string</strong> that represents the user''s email address.</p>

        </li>

        <li><p><code>TimeZoneSidKey</code> — A <strong>string</strong> that represents the user''s primary time zone, using the <a href="https://null">IANA Time Zone Database</a> format. (e.g. <code>America/Los_Angeles</code>)</p>

        </li>

        <li><p><code>ConferenceLink</code> — A <strong>string</strong> that represents the user''s conferencing URL.</p>

        </li>

        </ul>

        </li>

        </ul>

        </li>

        </ul>

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                meetingId: 91s64s27ep6mqlig89936kqmat76oh2he923ep3p8tckee2ncsog
      responses:

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leandata/refs/heads/main/openapi/leandata-legacy-still-supported-api-openapi.yml