LeanData πŸ“† Meetings > Create API

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.

Operations 2

POST /v1/meeting v1/meeting #
POST /v1/round-robin-meeting v1/round-robin-meeting #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client β€” Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE β€” APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/leandata-meetings-create-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us β€” we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

leandata-meetings-create-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LeanData BookIt πŸ“† 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.
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.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                scheduledTime:
                  startTime: 1746644400000
                  endTime: 1746646200000
                  timezone: America/Los_Angeles
                params: /SX/uPyXb00nUaCDWL5oMxM1Bx8WpQFn/o/oxd+lUGJtn6LHAxmuXEN0kJFtAIVAKHzgZwyVP1oO7U6//YDFIUnehI4PzKEMg3rXI8WrRN9AukpVuPrvb81WoWG4Z6xuvzeT2o9hYkiVreX4C7SP93JHcLD6A4WCvOclsZZlaS+7PbonkTm2gSOMJ74mAwfK8azheT9s39DZa35VZdkGYRZ8yk0pdctpWdA1LHID1XLbGG8wxQw3Y1GbPCrIh/ML4CDEmO9MhZZHQ9vXjfQqP1Zhb3cTvZUM2WSfW+n1tZxQicgviTX4UQ+VwcnBXvApdmBlJO3UXPpr+0DtprsfECABeIdMfRqR8fkqNQ0cFP5C29VWTq49hEUQrQBhpF0jEFoeExxfUchhBrWMuRJ1YabTy+Mh2+hT66yw8o/vqnZwTrJdmxHKlrX+aNKM6D6h4DR+HkoeGvBJOtzzjdA6izF1GOQCgzVpk55xELGedb7b15yWPMHDP11PQNbSXM+ilmoz3aG0PFqwd4PHg2goOi+E4zwLS6jAU1U9zXo5nVY=
                cancelLink: https://testdomain.com/cancel?=
                rescheduleLink: https://testdomain.com/reschedule?=
                userFields:
                - name: First Name
                  type: text
                  value: LeanData
                - name: Last Name
                  type: text
                  value: Dev
                - name: Email
                  type: text
                  value: test@test.com
                - name: Additional Guest Emails
                  type: textarea
                  value:
                  - test1@test.com
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: postV1Meeting
      x-operation-id-source: derived
  /v1/round-robin-meeting:
    post:
      tags:
      - πŸ“† Meetings > Create
      summary: v1/round-robin-meeting
      description: '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.


        Request Body Parameters


        Required for all requests


        Field

        Type

        Required

        Description


        scheduledTime

        object

        Yes

        Defines the selected meeting time and the eligible host pool for that time.


        scheduledTime.start_time

        number

        Yes

        Meeting start time (Unix epoch milliseconds).


        scheduledTime.end_time

        number

        Yes

        Meeting end time (Unix epoch milliseconds).


        scheduledTime.timezone

        string

        Yes

        IANA timezone (e.g. America/Los_Angeles). Used for formatting the prospect confirmation email; the actual meeting time is based on the timestamps.


        scheduledTime.users

        string[]

        Yes

        Ordered list of user IDs eligible for the selected timeslot. Order matters and must match the order implied by availability.timeSlots[].users via availability.indexToUserIdMap from the availability response (preserves round-robin priority).


        userFields

        array

        Yes

        Form field values submitted by the prospect. Must include values for all required meeting.formFields returned by the availability endpoint.


        Identification Modes


        Mode selector rules


        ❗️Exactly one of token, linkId, or params must be provided. Do not send more than one.


        Field

        Required?

        When to use

        Notes


        token

        Required if using token mode

        Use when booking after calling /v1/scheduling/route-and-fetch-availability or /v1/scheduling/fetch-availability and you have a booking token

        Recommended path. Avoids needing legacy params.


        linkId

        Required if using link mode

        Use when booking directly from a single-meeting-type BookIt Link

        Must be a supported Link type. (Multi-meeting-type / routing / dynamic links aren’t supported.)


        params

        Required if using legacy mode

        Legacy integrations that already rely on the encrypted params payload

        Requires additional fields below.


        Legacy-only Fields (params mode)


        Field

        Type

        Required

        Applies when

        Description


        cancelLink

        string

        Optional

        params mode

        Base cancel URL prefix used by legacy flows (often includes ?meetingId=).


        rescheduleLink

        string

        Optional

        params mode

        Base reschedule URL prefix used by legacy flows (often includes ?meetingId=).


        Formatting cancelLink / rescheduleLink


        These 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).


        Response Body Parameters


        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.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                scheduledTime:
                  start_time: 1746486000000
                  end_time: 1746486900000
                  timezone: America/Los_Angeles
                  users:
                  - 0058c00000CssZGAAZ
                  - 0058c00000CtXJhAAN
                  - 0058c00000AukyPAAR
                  - 0058c00000CtXKaAAN
                  - 0058c000009wAEKAA2
                  - 0058c00000CssZLAAZ
                cancelLink: https://testdomain.com/cancel?meetingId=
                rescheduleLink: https://testdomain.com/reschedule?meetingId=
                params: +aELYG7xzbgpE4sSyByw27/J11+QuSnMHV/Z5UDYfWhTYqOWLqSPG2bqRUBjUncGDhALE5PZ9lTtTK1n9yoQVLnHT58AUVANEe23Dzi1/62oOBZx+lpw7NeB0zqAYnGkVXjbchNC7PtZLcWA4VXjwuZvkIfkFqxZqA5hf9u2NpC6AMUyTo7j+Svyoc/S2Dit9IBrmbWhZcdn3eaNkVTkfqcW6RjX/LA+A9MgomWe9eQbgibpJGgUBN4KwmVQYQxiuwaSe4pMNyckOGg9EymjVPizsLSq9Iwc/tbj11RW6fPTbgquUyymeGYhIeIt0uONE/vAGiHO7Vkdn9gvAsQG5Y5aKvRF84zmd+vePfh7h43VvVoWH1w2lff5/Ks0rSDvAgRgdwXauZwudGoX0YWXHJfZEwEcgAbw16aLJiY6r+eLkgInglI2ZA9DfmE753JSbJ1PrtP7WNZYPI6NUvRORaKTg7xHPQg6ZrLTo1jo4L6qfP0nnn9D3sEmnVVxyfDeE+CVZWbawxjVTZFVTXL9/hVu2djwzEKlI9VxapB9qc1VK7cwBNLgC3qlnaaMr5Js
                userFields:
                - name: First Name
                  type: text
                  value: Test
                - name: Last Name
                  type: text
                  value: pool
                - name: Email
                  type: text
                  value: test@test.com
                - name: Additional Guest Emails
                  type: textarea
                  value: []
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      operationId: postV1RoundRobinMeeting
      x-operation-id-source: derived