API ReferenceScheduling links

Get available time slots

Get available time slots for booking on a scheduling link.

If the link organizer has configured multiple durations, we'll return all possible time slots for each duration. For example, if the organizer allows schedulers to book either 30 or 60 minutes, then you may see slots that start at the same time (or overlap) with different durations:

[  {    start_at: "2021-06-01T00:00:00Z",    end_at: "2021-06-01T00:30:00Z",    duration: 30,    rank: 1  },  {    start_at: "2021-06-01T00:00:00Z",    end_at: "2021-06-01T01:00:00Z",    duration: 60,    rank: 1  }]

If the organizer is using ranked availability, then the response may include slots with different rank values:

[  // A slot with "first" preference  {    start_at: "2021-06-01T00:00:00Z",    end_at: "2021-06-01T00:30:00Z",    duration: 30,    rank: 1  },  // A slot with "second" preference  {    start_at: "2021-06-01T03:00:00Z",    end_at: "2021-06-01T03:30:00Z",    duration: 60,    rank: 2  }]

Slots with rank 1 are those the organizer prefers the most. Slots with rank 2 (and higher) will include all the slot times from lower ranks, plus additional times available in that rank. This means if you want to get the "expanded" availability (e.g. up to rank 2), you simply need to filter the list for slots where rank === 2 (not where rank === 1 || rank === 2).

Here's some JavaScript pseudo-code to demonstrate:

const slots = await fetchSlots();// Includes just the rank 1 timesconst preferredAvailability = slots.filter(({ rank } => rank === 1));// Includes all rank 1 AND rank 2 timesconst expandedAvailability = slots.filter(({ rank } => rank === 2));// Includes all rank 1, rank 2 and rank 3 timesconst moreExpandedAvailability = slots.filter(({ rank } => rank === 3));
GET
/v1/links/{link_id}/slots
AuthorizationBearer <token>

OAuth 2.0 authorization code flow

In: header

Path Parameters

Query Parameters

from?string

Start time for slot search (ISO 8601)

Formatdate-time
until?string

End time for slot search (ISO 8601, max 31 days from 'from')

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/links/link_01J5KC2G3MHPCECSQ6KM6FMDPC/slots?from=2024-01-20T00%3A00%3A00Z&until=2024-01-27T00%3A00%3A00Z"
[  {    "duration": 30,    "end_at": "2024-01-20T14:30:00Z",    "rank": 1,    "start_at": "2024-01-20T14:00:00Z"  },  {    "duration": 30,    "end_at": "2024-01-20T15:00:00Z",    "rank": 1,    "start_at": "2024-01-20T14:30:00Z"  }]