calendar-daysHow to Schedule a Meeting via API

This article explains how to use the public endpoint /calendarmeeting of the SprintHub API to schedule meetings automatically based on a calendar created on the platform.


✅ Overview

The endpoint /calendarmeeting allows scheduling meetings directly on a calendar link, using data from an existing lead or automatically creating a new lead with the submitted data.

📌 This endpoint is public. It does not require authentication (apitoken or Authorization) — but requires the call to be made within the correct instance context.

POST https://sprinthub-api-master.sprinthub.app/calendarmeeting?i=instance_name

🔑 Required parameters

Parameter
Type
Where it goes
Description

i

string

query

Instance name (ex: support)

keyName

string

body

Calendar ID, obtained from the public link URL

date

string

body

Meeting date and time in ISO 8601 format (UTC)

🧾 Body structure

🔹 Option 1 – Schedule by creating a new lead

{
  "keyName": "TGcbitBqLjqmmp5tRzlX3",
  "leadId": null,
  "opportunityId": null,
  "date": "2025-06-27T15:30:00.000Z",
  "formData": {
    "firstname": "Wanderson Fernandes",
    "email": "[email protected]"
  },
  "properties": {}
}

🔹 Option 2 – Schedule for an existing lead

❗ When leadId is provided, do not send the formData to avoid conflicts.

🧠 Important notes

  • leadId must be a valid lead from the same instance.

  • formData is required only when leadId is null (will be used to create the lead).

  • properties can remain as {}. It is used only for rescheduling or additional data in more advanced calls.

  • The date and time must be in UTC (ex: 2025-06-27T15:30:00.000Z).

  • The calendar link needs to be active and with available times.

📌 Where to find the keyName

Access your public scheduling link. Example:

The final segment of the URL is the keyName:

💥 Common errors

Code
Meaning

CL006

The keyName does not belong to the provided instance or is not active.

CL008

The leadId does not exist or does not belong to the correct instance.

400

Missing or poorly formatted data (ex: null as a string: "null").

request example:

Last updated

Was this helpful?