Get started

Quickstart

Make your first API request and create a booking in under five minutes.

Beginner

5 min read

·

This guide creates a real booking through the Meetlane API. You need a Meetlane account and a terminal.

1. Get a test API key

Go to Settings → Developers → API keys and select Create key. Choose Test mode. Test keys start with ml_test_ and never send emails or touch real calendars.

Store the key in an environment variable:

export MEETLANE_API_KEY="ml_test_51Hx9fQ2sK8vT3pL"
export MEETLANE_API_KEY="ml_test_51Hx9fQ2sK8vT3pL"
export MEETLANE_API_KEY="ml_test_51Hx9fQ2sK8vT3pL"

2. Install the SDK

Pick the language you use. The SDKs wrap the REST API and handle retries for you.

npm
npm
npm

3. Find an available slot

Every booking belongs to an event type. List the free slots for the default Intro call event type over the next week:

import Meetlane from "@meetlane/node"

const meetlane = new Meetlane(process.env.MEETLANE_API_KEY)

const { data: slots } = await meetlane.availability.slots({
  event_type: "evt_intro_call",
  start: "2026-11-02T00:00:00Z",
  end: "2026-11-09T00:00:00Z",
})

console.log(slots[0].start) // "2026-11-02T09:00:00Z"
import Meetlane from "@meetlane/node"

const meetlane = new Meetlane(process.env.MEETLANE_API_KEY)

const { data: slots } = await meetlane.availability.slots({
  event_type: "evt_intro_call",
  start: "2026-11-02T00:00:00Z",
  end: "2026-11-09T00:00:00Z",
})

console.log(slots[0].start) // "2026-11-02T09:00:00Z"
import Meetlane from "@meetlane/node"

const meetlane = new Meetlane(process.env.MEETLANE_API_KEY)

const { data: slots } = await meetlane.availability.slots({
  event_type: "evt_intro_call",
  start: "2026-11-02T00:00:00Z",
  end: "2026-11-09T00:00:00Z",
})

console.log(slots[0].start) // "2026-11-02T09:00:00Z"

4. Create the booking

Pass the slot's start time and the invitee's details:

const booking = await meetlane.bookings.create({
  event_type: "evt_intro_call",
  start: slots[0].start,
  invitee: { name: "Ada Lovelace", email: "ada@example.com" },
})

console.log(booking.id, booking.status) // "bkg_8Kd2LmQ4" "confirmed"
const booking = await meetlane.bookings.create({
  event_type: "evt_intro_call",
  start: slots[0].start,
  invitee: { name: "Ada Lovelace", email: "ada@example.com" },
})

console.log(booking.id, booking.status) // "bkg_8Kd2LmQ4" "confirmed"
const booking = await meetlane.bookings.create({
  event_type: "evt_intro_call",
  start: slots[0].start,
  invitee: { name: "Ada Lovelace", email: "ada@example.com" },
})

console.log(booking.id, booking.status) // "bkg_8Kd2LmQ4" "confirmed"

Tip: Open Meetings in the Meetlane app with test mode turned on: the booking you just created is there.

Next steps

  • Keep keys out of your code: read Authentication and API keys.

  • Get notified when bookings change: Receive webhooks.

  • Browse every endpoint in the API reference.

Was this page helpful?

Last reviewed by the Meetlane support team.

Was this page helpful?

Last reviewed by the Meetlane support team.

Create a free website with Framer, the website builder loved by startups, designers and agencies.