# 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