Toggle link state
Toggle a scheduling link between active and disabled states.
OAuth 2.0 authorization code flow
In: header
Path Parameters
Link ID
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/links/link_01J5KC2G3MHPCECSQ6KM6FMDPC/toggle"{ "default_duration": 30, "description": "A brief meeting to discuss your needs", "durations": [ 15, 30, 45 ], "fields": [ { "id": "field_123", "is_required": true, "label": "Company", "options": [], "type": "short_text" } ], "id": "link_01J5KC2G3MHPCECSQ6KM6FMDPC", "increment": 15, "name": "30 Minute Meeting", "private_name": "Quick sync with prospects", "scope": { "id": "scope_01J5KC4R7NHQFGT8V2WD9Y8H6X", "name": "Sales Team", "slug": "sales" }, "slug": "30min", "state": "active"}Get available time slots GET
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: ```javascript [ { 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: ```javascript [ // 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: ```javascript const slots = await fetchSlots(); // Includes just the rank 1 times const preferredAvailability = slots.filter(({ rank } => rank === 1)); // Includes all rank 1 AND rank 2 times const expandedAvailability = slots.filter(({ rank } => rank === 2)); // Includes all rank 1, rank 2 and rank 3 times const moreExpandedAvailability = slots.filter(({ rank } => rank === 3)); ```
Create a scheduling link POST
Create a new scheduling link under a specific individual or team scope. Use the scope slug (e.g. `acme-inc` or `john`) as the path parameter.