# Cal Integration via LowCodeAPI
## Overview
Scheduling and calendar automation
## Base Endpoint
```
https://api.lowcodeapi.com/cal/
```
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [https://cal.com](https://cal.com)
2. **Get your credentials** from [https://app.cal.com/settings/developer/api-keys](https://app.cal.com/settings/developer/api-keys)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests
The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your Cal API key
- Add it as query parameter(s) in each request
**Auth Type**: API Key (Query parameter: apiKey)
## API Categories
- Project Management
## Common Endpoints
### Category: Attendees
#### Find all attendees
**Method**: `GET` | **LowCodeAPI Path**: `/v2/attendees`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/attendees&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/attendees&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/attendees#find-all-attendees](https://cal.com/docs/api-reference/v2/attendees#find-all-attendees)
---
#### Create a new attendee
**Method**: `POST` | **LowCodeAPI Path**: `/v2/attendees`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/attendees&api_token={api_token}
```
**Body Parameters**:
| `bookingId` | number | Yes | The ID of the booking to add the attendee to |
| `email` | email | Yes | The attendee email ID |
| `timeZone` | string | Yes | Time zone of the attendee |
| `name` | string | Yes | |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/attendees?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"bookingId":"value","email":"value","timeZone":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/attendees#create-a-new-attendee](https://cal.com/docs/api-reference/v2/attendees#create-a-new-attendee)
---
#### Find an attendee
**Method**: `GET` | **LowCodeAPI Path**: `/v2/attendees/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/attendees/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the attendee to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/attendees/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/attendees#find-an-attendee](https://cal.com/docs/api-reference/v2/attendees#find-an-attendee)
---
#### Edit an existing attendee
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/attendees/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/attendees/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the attendee to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `email` | email | No | Email ID of the attendee |
| `name` | string | No | Name of the attendee |
| `timeZone` | string | No | Time Zone of the attendee |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/attendees/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email":"value","name":"value","timeZone":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/attendees#edit-an-existing-attendee](https://cal.com/docs/api-reference/v2/attendees#edit-an-existing-attendee)
---
#### Remove an existing attendee
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/attendees/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/attendees/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the attendee to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/attendees/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/attendees#remove-an-existing-attendee](https://cal.com/docs/api-reference/v2/attendees#remove-an-existing-attendee)
---
### Category: Availabilities
#### Create a new availability
**Method**: `POST` | **LowCodeAPI Path**: `/v2/availabilities`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/availabilities&api_token={api_token}
```
**Body Parameters**:
| `days` | array | No | Array of integers depicting weekdays |
| `scheduleId` | number | Yes | ID of schedule this availability is associated with |
| `startTime` | string | Yes | Start time of the availability |
| `endTime` | string | Yes | End time of the availability |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/availabilities?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"days":"value","scheduleId":"value","startTime":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/availabilities#create-a-new-availability](https://cal.com/docs/api-reference/v2/availabilities#create-a-new-availability)
---
#### Find an availability
**Method**: `GET` | **LowCodeAPI Path**: `/v2/availabilities/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/availabilities/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the availability to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/availabilities/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/availabilities#find-an-availability](https://cal.com/docs/api-reference/v2/availabilities#find-an-availability)
---
#### Edit an existing availability
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/availabilities/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/availabilities/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the availability to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `days` | number | No | Array of days to have the availability on |
| `startTime` | string | No | Start time of the availability |
| `endTime` | string | No | End time of the availability |
| `scheduleId` | number | No | ID of schedule this availability is associated with |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/availabilities/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"days":"value","startTime":"value","endTime":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/availabilities#edit-an-existing-availability](https://cal.com/docs/api-reference/v2/availabilities#edit-an-existing-availability)
---
#### Remove an existing availability
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/availabilities/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/availabilities/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the availability to remove |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/availabilities/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/availabilities#remove-an-existing-availability](https://cal.com/docs/api-reference/v2/availabilities#remove-an-existing-availability)
---
### Category: Booking References
#### Find all booking references
**Method**: `GET` | **LowCodeAPI Path**: `/v2/booking-references`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/booking-references&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/booking-references&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/booking-references#find-all-booking-references](https://cal.com/docs/api-reference/v2/booking-references#find-all-booking-references)
---
#### Create a new booking reference
**Method**: `POST` | **LowCodeAPI Path**: `/v2/booking-references`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/booking-references&api_token={api_token}
```
**Body Parameters**:
| `type` | string | No | |
| `uid` | string | No | |
| `meetingId` | string | No | |
| `meetingPassword` | string | No | |
| `meetingUrl` | string | No | |
| `bookingId` | boolean | No | |
| `externalCalendarId` | string | No | deleted |
| `credentialId` | number | No | |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/booking-references?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"value","uid":"value","meetingId":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/booking-references#create-a-new-booking-reference](https://cal.com/docs/api-reference/v2/booking-references#create-a-new-booking-reference)
---
#### Find a booking reference
**Method**: `GET` | **LowCodeAPI Path**: `/v2/booking-references/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/booking-references/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the booking reference to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/booking-references/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/booking-references#find-a-booking-reference](https://cal.com/docs/api-reference/v2/booking-references#find-a-booking-reference)
---
#### Edit an existing booking reference
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/booking-references/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/booking-references/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the booking reference to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `type` | string | No | |
| `meetingId` | string | No | |
| `meetingPassword` | string | No | |
| `externalCalendarId` | string | No | |
| `deleted` | boolean | No | |
| `credentialId` | number | No | |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/booking-references/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"value","meetingId":"value","meetingPassword":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/booking-references#edit-an-existing-booking-reference](https://cal.com/docs/api-reference/v2/booking-references#edit-an-existing-booking-reference)
---
#### Remove an existing booking reference
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/booking-references/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/booking-references/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the booking reference to remove |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/booking-references/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/booking-references#remove-an-existing-booking-reference](https://cal.com/docs/api-reference/v2/booking-references#remove-an-existing-booking-reference)
---
### Category: Bookings
#### Find all bookings
**Method**: `GET` | **LowCodeAPI Path**: `/v2/bookings`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/bookings?...&api_token={api_token}
```
**Query Parameters**:
| `userId` | string | No | |
| `attendeeEmail` | string | No | |
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/bookings?...&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/bookings#find-all-bookings](https://cal.com/docs/api-reference/v2/bookings#find-all-bookings)
---
#### Create a new booking
**Method**: `POST` | **LowCodeAPI Path**: `/v2/bookings`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/bookings&api_token={api_token}
```
**Body Parameters**:
| `eventTypeId` | number | Yes | ID of the event type to book |
| `start` | string | Yes | Start time of the Event |
| `end` | string | No | End time of the Event |
| `responses` | object | Yes | |
| `metadata` | object | Yes | Any metadata associated with the booking |
| `timeZone` | string | Yes | TimeZone of the Attendee |
| `language` | string | Yes | Language of the Attendee |
| `title` | string | No | Booking event title |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/bookings?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"eventTypeId":"value","start":"value","end":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/bookings#create-a-new-booking](https://cal.com/docs/api-reference/v2/bookings#create-a-new-booking)
---
#### Find a booking
**Method**: `GET` | **LowCodeAPI Path**: `/v2/bookings/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/bookings/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/bookings/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/bookings#find-a-booking](https://cal.com/docs/api-reference/v2/bookings#find-a-booking)
---
#### Edit an existing booking
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/bookings/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/bookings/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `title` | string | No | Booking event title |
| `start` | string | No | Start time of the Event |
| `end` | string | No | End time of the Event |
| `description` | string | No | Description of the meeting |
| `status` | string | No | "ACCEPTED" "PENDING" "CANCELLED" "REJECTED" |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/bookings/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"value","start":"value","end":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/bookings#edit-an-existing-booking](https://cal.com/docs/api-reference/v2/bookings#edit-an-existing-booking)
---
#### Remove an existing booking
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/bookings/id/cancel`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/bookings/id/cancel?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/bookings/id/cancel?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"allRemainingBookings":"value","reason":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/bookings#remove-an-existing-booking](https://cal.com/docs/api-reference/v2/bookings#remove-an-existing-booking)
---
### Category: Custom Inputs
#### Find all custom inputs
**Method**: `GET` | **LowCodeAPI Path**: `/v2/custom-inputs`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/custom-inputs&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/custom-inputs&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/custom-inputs#find-all-custom-inputs](https://cal.com/docs/api-reference/v2/custom-inputs#find-all-custom-inputs)
---
#### Create a new custom input
**Method**: `POST` | **LowCodeAPI Path**: `/v2/custom-inputs`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/custom-inputs&api_token={api_token}
```
**Body Parameters**:
| `eventTypeId` | number | No | ID of the event type to which the custom input is being added |
| `label` | string | No | Label of the custom input |
| `type` | string | No | Type of the custom input |
| `options` | object | No | Options for the custom input |
| `required` | boolean | No | If the custom input is required before booking |
| `placeholder` | string | No | Placeholder text for the custom input |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/custom-inputs?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"eventTypeId":"value","label":"value","type":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/custom-inputs#create-a-new-custom-input](https://cal.com/docs/api-reference/v2/custom-inputs#create-a-new-custom-input)
---
#### Find a custom input
**Method**: `GET` | **LowCodeAPI Path**: `/v2/custom-inputs/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/custom-inputs/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of eventTypeCustomInput to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/custom-inputs/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/custom-inputs#find-a-custom-input](https://cal.com/docs/api-reference/v2/custom-inputs#find-a-custom-input)
---
#### Edit an existing custom input
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/custom-inputs/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/custom-inputs/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of eventTypeCustomInput to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `eventTypeId` | number | No | ID of the event type to which the custom input is being added |
| `label` | string | No | Label of the custom input |
| `type` | string | No | Type of the custom input |
| `options` | object | No | Options for the custom input |
| `required` | boolean | No | If the custom input is required before booking |
| `placeholder` | string | No | Placeholder text for the custom input |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/custom-inputs/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"eventTypeId":"value","label":"value","type":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/custom-inputs#edit-an-existing-custom-input](https://cal.com/docs/api-reference/v2/custom-inputs#edit-an-existing-custom-input)
---
#### Remove an existing custom input
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/custom-inputs/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/custom-inputs/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of eventTypeCustomInput to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/custom-inputs/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/custom-inputs#remove-an-existing-custom-input](https://cal.com/docs/api-reference/v2/custom-inputs#remove-an-existing-custom-input)
---
### Category: Destination Calendars
#### Find all destination calendars
**Method**: `GET` | **LowCodeAPI Path**: `/v2/destination-calendars`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/destination-calendars&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/destination-calendars&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/destination-calendars#find-all-destination-calendars](https://cal.com/docs/api-reference/v2/destination-calendars#find-all-destination-calendars)
---
#### Create a new destination calendar
**Method**: `POST` | **LowCodeAPI Path**: `/v2/destination-calendars`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/destination-calendars&api_token={api_token}
```
**Body Parameters**:
| `integration` | string | Yes | The integration |
| `externalId` | string | Yes | The external ID of the integration |
| `eventTypeId` | number | No | The ID of the eventType it is associated with |
| `bookingId` | number | No | The booking ID it is associated with |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/destination-calendars?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"integration":"value","externalId":"value","eventTypeId":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/destination-calendars#create-a-new-destination-calendar](https://cal.com/docs/api-reference/v2/destination-calendars#create-a-new-destination-calendar)
---
#### Find a destination calendar
**Method**: `GET` | **LowCodeAPI Path**: `/v2/destination-calendars/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/destination-calendars/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of destination calender to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/destination-calendars/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/destination-calendars#find-a-destination-calendar](https://cal.com/docs/api-reference/v2/destination-calendars#find-a-destination-calendar)
---
#### Edit an existing destination calendar
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/destination-calendars/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/destination-calendars/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of destination calender to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/destination-calendars/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/destination-calendars#edit-an-existing-destination-calendar](https://cal.com/docs/api-reference/v2/destination-calendars#edit-an-existing-destination-calendar)
---
#### Remove an existing destination calendar
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/destination-calendars/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/destination-calendars/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of destination calender to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/destination-calendars/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/destination-calendars#remove-an-existing-destination-calendar](https://cal.com/docs/api-reference/v2/destination-calendars#remove-an-existing-destination-calendar)
---
### Category: Event Types
#### Find all event types
**Method**: `GET` | **LowCodeAPI Path**: `/v2/event-types`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/event-types&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/event-types&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/event-types#find-all-event-types](https://cal.com/docs/api-reference/v2/event-types#find-all-event-types)
---
#### Create a new event type
**Method**: `POST` | **LowCodeAPI Path**: `/v2/event-types`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/event-types&api_token={api_token}
```
**Body Parameters**:
| `length` | number | Yes | Duration of the event type in minutes |
| `metadata` | JSON | Yes | Pass {} if empty |
| `title` | string | Yes | Title of the event type |
| `slug` | string | Yes | Unique slug for the event type |
| `hidden` | Boolean | No | |
| `position` | integer | No | The position of the event type on the public booking page |
| `teamId` | integer | No | |
| `periodType` | ENUM | No | |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/event-types?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"length":"value","metadata":"value","title":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/event-types#create-a-new-event-type](https://cal.com/docs/api-reference/v2/event-types#create-a-new-event-type)
---
#### Find an event type
**Method**: `GET` | **LowCodeAPI Path**: `/v2/event-types/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/event-types/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the eventType to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/event-types/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/event-types#find-an-event-type](https://cal.com/docs/api-reference/v2/event-types#find-an-event-type)
---
#### Edit an existing event type
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/event-types/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/event-types/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the eventType to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/event-types/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/event-types#edit-an-existing-event-type](https://cal.com/docs/api-reference/v2/event-types#edit-an-existing-event-type)
---
#### Remove an existing event type
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/event-types/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/event-types/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of the eventType to remove |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/event-types/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/event-types#remove-an-existing-event-type](https://cal.com/docs/api-reference/v2/event-types#remove-an-existing-event-type)
---
### Category: Memberships
#### Find all memberships
**Method**: `GET` | **LowCodeAPI Path**: `/v2/memberships`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/memberships&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/memberships&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/memberships#find-all-memberships](https://cal.com/docs/api-reference/v2/memberships#find-all-memberships)
---
#### Create a new membership
**Method**: `POST` | **LowCodeAPI Path**: `/v2/memberships`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/memberships&api_token={api_token}
```
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/memberships&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/memberships#create-a-new-membership](https://cal.com/docs/api-reference/v2/memberships#create-a-new-membership)
---
#### Find a membership
**Method**: `GET` | **LowCodeAPI Path**: `/v2/memberships/userId_teamId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/memberships/userId_teamId?teamId={teamId}&userId={userId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | Numeric teamld of the membership to get |
| `userId` | number | Numeric userId of the membership to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/memberships/userId_teamId?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/memberships#find-a-membership](https://cal.com/docs/api-reference/v2/memberships#find-a-membership)
---
#### Edit an existing membership
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/memberships/userId_teamId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/memberships/userId_teamId?teamId={teamId}&userId={userId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | Numeric teamld of the membership to get |
| `userId` | number | Numeric userId of the membership to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/memberships/userId_teamId?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/memberships#edit-an-existing-membership](https://cal.com/docs/api-reference/v2/memberships#edit-an-existing-membership)
---
#### Remove an existing membership
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/memberships/userId_teamId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/memberships/userId_teamId?teamId={teamId}&userId={userId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | Numeric teamld of the membership to get |
| `userId` | number | Numeric userId of the membership to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/memberships/userId_teamId?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/memberships#remove-an-existing-membership](https://cal.com/docs/api-reference/v2/memberships#remove-an-existing-membership)
---
### Category: Payments
#### Find all payments
**Method**: `GET` | **LowCodeAPI Path**: `/v2/payments`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/payments&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/payments&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/payments#find-all-payments](https://cal.com/docs/api-reference/v2/payments#find-all-payments)
---
#### Find a payment
**Method**: `GET` | **LowCodeAPI Path**: `/v2/payments/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/payments/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of payment to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/payments/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/payments#find-a-payment](https://cal.com/docs/api-reference/v2/payments#find-a-payment)
---
### Category: Schedules
#### Find all schedules
**Method**: `GET` | **LowCodeAPI Path**: `/v2/schedules`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/schedules&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/schedules&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/schedules#find-all-schedules](https://cal.com/docs/api-reference/v2/schedules#find-all-schedules)
---
#### Create a new schedule
**Method**: `POST` | **LowCodeAPI Path**: `/v2/schedules`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/schedules&api_token={api_token}
```
**Body Parameters**:
| `integration` | string | Yes | The integration name |
| `externalId` | string | Yes | The external ID of the integration |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/schedules?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"integration":"value","externalId":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/schedules#create-a-new-schedule](https://cal.com/docs/api-reference/v2/schedules#create-a-new-schedule)
---
#### Find a schedule
**Method**: `GET` | **LowCodeAPI Path**: `/v2/schedules/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/schedules/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of schedules to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/schedules/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/schedules#find-a-schedule](https://cal.com/docs/api-reference/v2/schedules#find-a-schedule)
---
#### Edit an existing schedule
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/schedules/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/schedules/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of schedules to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `name` | string | No | Name of the schedule |
| `timeZone` | string | No | The timezone for this schedule |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/schedules/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"value","timeZone":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/schedules#edit-an-existing-schedule](https://cal.com/docs/api-reference/v2/schedules#edit-an-existing-schedule)
---
#### Remove an existing schedule
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/schedules/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/schedules/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | number | ID of schedules to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/schedules/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/schedules#remove-an-existing-schedule](https://cal.com/docs/api-reference/v2/schedules#remove-an-existing-schedule)
---
### Category: Selected Calendars
#### Find all selected calendars
**Method**: `GET` | **LowCodeAPI Path**: `/v2/selected-calendars`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/selected-calendars&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/selected-calendars&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/selected-calendars#find-all-selected-calendars](https://cal.com/docs/api-reference/v2/selected-calendars#find-all-selected-calendars)
---
#### Create a new selected calendar
**Method**: `POST` | **LowCodeAPI Path**: `/v2/selected-calendars`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/selected-calendars&api_token={api_token}
```
**Body Parameters**:
| `integration` | string | Yes | The integration name |
| `externalId` | string | Yes | The external ID of the integration |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/selected-calendars?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"integration":"value","externalId":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/selected-calendars#create-a-new-selected-calendar](https://cal.com/docs/api-reference/v2/selected-calendars#create-a-new-selected-calendar)
---
#### Find a selected calendar
**Method**: `GET` | **LowCodeAPI Path**: `/v2/selected-calendars/userId_integration_externalId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/selected-calendars/userId_integration_externalId?integration={integration}&externalId={externalId}&userID={userID}&api_token={api_token}
```
**Path Parameters**:
| `integration` | string | integration of the selected calendar to get |
| `externalId` | string | externalId of the selected calendar to get |
| `userID` | number | userID odf the selected calendar to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/selected-calendars/userId_integration_externalId?integration=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/selected-calendars#find-a-selected-calendar](https://cal.com/docs/api-reference/v2/selected-calendars#find-a-selected-calendar)
---
#### Edit an existing selected calendar
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/selected-calendars/userId_integration_externalId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/selected-calendars/userId_integration_externalId?integration={integration}&externalId={externalId}&userID={userID}&api_token={api_token}
```
**Path Parameters**:
| `integration` | string | integration of the selected calendar to get |
| `externalId` | string | externalId of the selected calendar to get |
| `userID` | number | userID odf the selected calendar to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/selected-calendars/userId_integration_externalId?integration=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/selected-calendars#edit-an-existing-selected-calendar](https://cal.com/docs/api-reference/v2/selected-calendars#edit-an-existing-selected-calendar)
---
#### Remove an existing selected calendar
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/selected-calendars/userId_integration_externalId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/selected-calendars/userId_integration_externalId?integration={integration}&externalId={externalId}&userID={userID}&api_token={api_token}
```
**Path Parameters**:
| `integration` | string | integration of the selected calendar to get |
| `externalId` | string | externalId of the selected calendar to get |
| `userID` | number | userID odf the selected calendar to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/selected-calendars/userId_integration_externalId?integration=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/selected-calendars#remove-an-existing-selected-calendar](https://cal.com/docs/api-reference/v2/selected-calendars#remove-an-existing-selected-calendar)
---
### Category: Teams
#### Find all teams
**Method**: `GET` | **LowCodeAPI Path**: `/v2/teams`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/teams&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/teams&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/teams#find-all-teams](https://cal.com/docs/api-reference/v2/teams#find-all-teams)
---
#### Create a new team
**Method**: `POST` | **LowCodeAPI Path**: `/v2/teams`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/teams&api_token={api_token}
```
**Body Parameters**:
| `name` | string | Yes | Name of the team |
| `slug` | string | Yes | A unique slug that works as path for the team public page |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/teams?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"value","slug":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/teams#create-a-new-team](https://cal.com/docs/api-reference/v2/teams#create-a-new-team)
---
#### Find a team
**Method**: `GET` | **LowCodeAPI Path**: `/v2/teams/teamId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/teams/teamId?teamId={teamId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | ID of the team to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/teams/teamId?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/teams#find-a-team](https://cal.com/docs/api-reference/v2/teams#find-a-team)
---
#### Edit an existing team
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/teams/teamId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/teams/teamId?teamId={teamId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | ID of the team to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `name` | string | No | Name of the team |
| `slug` | string | No | A unique slug that works as path for the team public page |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/teams/teamId?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"value","slug":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/teams#edit-an-existing-team](https://cal.com/docs/api-reference/v2/teams#edit-an-existing-team)
---
#### Remove an existing team
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/teams/teamId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/teams/teamId?teamId={teamId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | ID of the team to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/teams/teamId?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/teams#remove-an-existing-team](https://cal.com/docs/api-reference/v2/teams#remove-an-existing-team)
---
#### Get team availability
**Method**: `GET` | **LowCodeAPI Path**: `/v2/teams/teamId/availability`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/teams/teamId/availability?teamId={teamId}&api_token={api_token}
```
**Path Parameters**:
| `teamId` | number | ID of the team to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/teams/teamId/availability?teamId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/teams#get-team-availability](https://cal.com/docs/api-reference/v2/teams#get-team-availability)
---
### Category: Users
#### Find all users
**Method**: `GET` | **LowCodeAPI Path**: `/v2/users`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/users&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/users&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/users#find-all-users](https://cal.com/docs/api-reference/v2/users#find-all-users)
---
#### Find a user
**Method**: `GET` | **LowCodeAPI Path**: `/v2/users/userId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/users/userId?userId={userId}&api_token={api_token}
```
**Path Parameters**:
| `userId` | number | ID of the user to get |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/users/userId?userId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/users#find-a-user](https://cal.com/docs/api-reference/v2/users#find-a-user)
---
#### Edit an existing user
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/users/userId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/users/userId?userId={userId}&api_token={api_token}
```
**Path Parameters**:
| `userId` | number | ID of the user to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `email` | string | No | Emailthat belongs to the user being edited |
| `username` | string | No | Username for the user being edited |
| `brandColor` | string | No | The user's brand color |
| `darkBrandColor` | string | No | The user's brand color for dark mode |
| `weekStart` | string | No | Start of the week |
| `timeZone` | string | No | The user's time zone |
| `theme` | string | No | Default theme for the user |
| `timeFormat` | string | No | The user's time format |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/users/userId?userId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email":"value","username":"value","brandColor":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/users#edit-an-existing-user](https://cal.com/docs/api-reference/v2/users#edit-an-existing-user)
---
#### Remove an existing user
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/users/userId`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/users/userId?userId={userId}&api_token={api_token}
```
**Path Parameters**:
| `userId` | number | ID of the user to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/users/userId?userId=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/users#remove-an-existing-user](https://cal.com/docs/api-reference/v2/users#remove-an-existing-user)
---
#### Create a new user
**Method**: `POST` | **LowCodeAPI Path**: `/v2/users`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/users&api_token={api_token}
```
**Body Parameters**:
| `email` | string | Yes | Email that belongs to the user being edited |
| `username` | string | Yes | Username for the user being created |
| `brandColor` | string | No | The new user's brand color |
| `darkBrandColor` | string | No | The new user's brand color for dark mode |
| `weekStart` | string | No | Start of the week |
| `timeZone` | string | No | The new user's time zone |
| `theme` | string | No | Default theme for the new user |
| `timeFormat` | string | No | The new user's time format |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/users?&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email":"value","username":"value","brandColor":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/users#create-a-new-user](https://cal.com/docs/api-reference/v2/users#create-a-new-user)
---
### Category: Webhooks
#### Find all webhooks
**Method**: `GET` | **LowCodeAPI Path**: `/v2/hooks`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/hooks&api_token={api_token}
```
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/hooks&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/webhooks#find-all-webhooks](https://cal.com/docs/api-reference/v2/webhooks#find-all-webhooks)
---
#### Create a new webhook
**Method**: `POST` | **LowCodeAPI Path**: `/v2/hooks`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/hooks?subscriberUrl={subscriberUrl}&eventTriggers={eventTriggers}&active={active}&payloadTemplate={payloadTemplate}&eventTypeId={eventTypeId}&api_token={api_token}
```
**Path Parameters**:
| `subscriberUrl` | string | The URL to subscribe to this webhook |
| `eventTriggers` | string | The events which should trigger this webhook call |
| `active` | boolean | Whether the webhook is active and should trigger on associated trigger events |
| `payloadTemplate` | string | The template of the webhook's payload |
| `eventTypeId` | number | The event type ID if this webhook should be associated with only that event type |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/cal/v2/hooks?subscriberUrl=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/webhooks#create-a-new-webhook](https://cal.com/docs/api-reference/v2/webhooks#create-a-new-webhook)
---
#### Find a webhook
**Method**: `GET` | **LowCodeAPI Path**: `/v2/hooks/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/hooks/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | string | ID of the webhook to find |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/cal/v2/hooks/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/webhooks#find-a-webhook](https://cal.com/docs/api-reference/v2/webhooks#find-a-webhook)
---
#### Edit an existing webhook
**Method**: `PATCH` | **LowCodeAPI Path**: `/v2/hooks/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/hooks/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | string | ID of the webhook to edit |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Body Parameters**:
| `eventTrigger` | ENUM | No | |
| `payloadTemplate` | string | No | A template to customize the webhook payload |
| `subscriberUrl` | String | No | A valid webhook subscriber URL |
| `active` | boolean | No | Whether the webhook is active and should trigger on associated trigger events |
| `eventTypeId` | number | No | The event type ID if this webhook should be associated with only that event type |
**Example Request**:
```bash
curl -X PATCH "https://api.lowcodeapi.com/cal/v2/hooks/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"eventTrigger":"value","payloadTemplate":"value","subscriberUrl":"value"}'
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/webhooks#edit-an-existing-webhook](https://cal.com/docs/api-reference/v2/webhooks#edit-an-existing-webhook)
---
#### Delete a webhook
**Method**: `DELETE` | **LowCodeAPI Path**: `/v2/hooks/id`
**Full URL**:
```
https://api.lowcodeapi.com/cal/v2/hooks/id?id={id}&api_token={api_token}
```
**Path Parameters**:
| `id` | string | Id of the webhook to delete |
**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.
**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/cal/v2/hooks/id?id=VALUE&&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json"
```
**Official Documentation**: [https://cal.com/docs/api-reference/v2/webhooks#delete-a-webhook](https://cal.com/docs/api-reference/v2/webhooks#delete-a-webhook)
---
## Usage Examples
### Example 1: Basic Usage
Get started with Cal API by making your first request.
```bash
# Your example code here
# This demonstrates basic usage
curl -X GET "https://api.lowcodeapi.com/cal/?api_token=YOUR_API_TOKEN"
```
### Example 2: Advanced Usage
Explore more advanced features and parameters.
```bash
# Your example code here
# This demonstrates advanced usage
curl -X GET "https://api.lowcodeapi.com/cal/?api_token=YOUR_API_TOKEN"
```
## Complete Endpoint Reference
For a complete list of all endpoints and their parameters, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/cal/definition`
- **Official Provider Documentation**: [https://cal.com/docs/api-reference/v2/introduction](https://cal.com/docs/api-reference/v2/introduction)
## Rate Limits & Best Practices
- Check your Cal account for specific rate limits
- Use appropriate error handling and retry logic
- Cache responses when appropriate to reduce API calls
## Error Handling
Standard HTTP status codes apply:
- `400` - Invalid request parameters
- `401` - Unauthorized (check your API key)
- `429` - Rate limit exceeded
- `500` - Internal server error