{
"opencollection": "1.0.0",
"info": {
"name": "Cal.diy API v2 Api Keys Slots API",
"version": "1.0.0"
},
"items": [
{
"info": {
"name": "Slots",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get available time slots for an event type",
"type": "http"
},
"http": {
"method": "GET",
"url": "{{baseUrl}}/v2/slots",
"headers": [
{
"name": "cal-api-version",
"value": ""
}
],
"params": [
{
"name": "bookingUidToReschedule",
"value": "",
"type": "query",
"description": "The unique identifier of the booking being rescheduled. When provided will ensure that the original booking time appears within the returned available slots when rescheduling."
},
{
"name": "start",
"value": "",
"type": "query",
"description": "\n Time starting from which available slots should be checked.\n\n Must be in UTC timezone as ISO 8601 datestring.\n\n You can pass date without hours which defaults to start of day or specify hours:\n 2024-08-13 (will have hours 00:00:00 aka at very beginning of the date) or you can specify hours manually like 2024-08-13T09:00:00Z."
},
{
"name": "end",
"value": "",
"type": "query",
"description": "\n Time until which available slots should be checked.\n\n Must be in UTC timezone as ISO 8601 datestring.\n\n You can pass date without hours which defaults to end of day or specify hours:\n 2024-08-20 (will have hours 23:59:59 aka at the very end of the date) or you can specify hours manually like 2024-08-20T18:00:00Z."
},
{
"name": "organizationSlug",
"value": "",
"type": "query",
"description": "The slug of the organization to which user with username belongs or team with teamSlug belongs."
},
{
"name": "teamSlug",
"value": "",
"type": "query",
"description": "The slug of the team who owns event type with eventTypeSlug - used when slots are checked for team event type."
},
{
"name": "username",
"value": "",
"type": "query",
"description": "The username of the user who owns event type with eventTypeSlug - used when slots are checked for individual user event type."
},
{
"name": "eventTypeSlug",
"value": "",
"type": "query",
"description": "The slug of the event type for which available slots should be checked. If slug is provided then username or teamSlug must be provided too and if relevant organizationSlug too."
},
{
"name": "eventTypeId",
"value": "",
"type": "query",
"description": "The ID of the event type for which available slots should be checked."
},
{
"name": "usernames",
"value": "",
"type": "query",
"description": "The usernames for which available slots should be checked separated by a comma.\n\n Checking slots by usernames is used mainly for dynamic events where there is no specific event but we just want to know when 2 or more people are available.\n\n Must contain at least 2 usernames."
},
{
"name": "format",
"value": "",
"type": "query",
"description": "Format of slot times in response. Use 'range' to get start and end times. Use 'time' or omit this query parameter to get only start time."
},
{
"name": "duration",
"value": "",
"type": "query",
"description": "If event type has multiple possible durations then you can specify the desired duration here. Also, if you are fetching slots for a dynamic event then you can specify the duration her which defaults to 30, meaning that returned slots will be each 30 minutes long."
},
{
"name": "timeZone",
"value": "",
"type": "query",
"description": "Time zone in which the available slots should be returned. Defaults to UTC."
}
]
},
"docs": "\n There are 4 ways to get available slots for event type of an individual user:\n\n 1. By event type id. Example '/v2/slots?eventTypeId=10&start=2050-09-05&end=2050-09-06&timeZone=Europe/Rome'\n\n 2. By event type slug + username. Example '/v2/slots?eventTypeSlug=intro&username=bob&start=2050-09-05&end=2050-09-06'\n\n 3. By event type slug + username + organization slug when searching within an organization. Example '/v2/slots?organizationSlug=org-slug&eventTypeSlug=intro&username="
},
{
"info": {
"name": "Reserve a slot",
"type": "http"
},
"http": {
"method": "POST",
"url": "{{baseUrl}}/v2/slots/reservations",
"headers": [
{
"name": "cal-api-version",
"value": ""
},
{
"name": "Authorization",
"value": ""
},
{
"name": "x-cal-client-id",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Make a slot not available for others to book for a certain period of time. If you authenticate using oAuth credentials, api key or access token\n then you can also specify custom duration for how long the slot should be reserved for (defaults to 5 minutes).\n \n Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint. \n "
},
{
"info": {
"name": "Get reserved slot",
"type": "http"
},
"http": {
"method": "GET",
"url": "{{baseUrl}}/v2/slots/reservations/:uid",
"headers": [
{
"name": "cal-api-version",
"value": ""
}
],
"params": [
{
"name": "uid",
"value": "",
"type": "path"
}
]
},
"docs": "Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint."
},
{
"info": {
"name": "Update a reserved slot",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "{{baseUrl}}/v2/slots/reservations/:uid",
"headers": [
{
"name": "cal-api-version",
"value": ""
}
],
"params": [
{
"name": "uid",
"value": "",
"type": "path"
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint."
},
{
"info": {
"name": "Delete a reserved slot",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "{{baseUrl}}/v2/slots/reservations/:uid",
"headers": [
{
"name": "cal-api-version",
"value": ""
}
],
"params": [
{
"name": "uid",
"value": "",
"type": "path"
}
]
},
"docs": "Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint."
}
]
}
],
"bundled": true
}