# Pair Session with Andy Newhouse

> I've joined Ben Holman's Pair-amid Scheme and am opening up time on my calendar for folks to get experience pairing! We can work on a problem you're having, prep for an interview, or chat about tips and tricks. If we haven't met before (online or otherwise) or would like more time, please select 90 minutes to get to know each other before diving into programming.

- Host: Andy Newhouse
- Duration: 60, 90 min
- Location: Zoom Video
- Host time zone: America/Chicago
- Confirmation: The host confirms each booking; it stays pending until they accept it.
- Booking page: https://cal.com/techenby/pair-session
- Event type id: 2276423

## Check availability

```http
GET https://api.cal.com/v2/slots?eventTypeId=2276423&start=YYYY-MM-DD&end=YYYY-MM-DD&timeZone=<IANA time zone>
cal-api-version: 2024-09-04
```

The response is `{"data":{"YYYY-MM-DD":[{"start":"<ISO 8601 with offset>"}]}}`; no API key is needed.

## Book

```http
POST https://api.cal.com/v2/bookings
cal-api-version: 2026-02-25
Content-Type: application/json

{
  "eventTypeId": 2276423,
  "start": "<UTC ISO 8601 start from the slots response>",
  "lengthInMinutes": 90,
  "attendee": {
    "name": "…",
    "email": "…",
    "timeZone": "<IANA time zone>"
  },
  "guests": [
    "guest@example.com"
  ],
  "bookingFieldsResponses": {
    "notes": "…"
  }
}
```

- Required fields: `name` (Your name), `email` (Email address)
- Optional fields: `notes` (Additional notes), `guests` (Add guests)
- `name` and `email` go in `attendee` and `guests` is a list of emails; every other field goes in `bookingFieldsResponses` under its name.
- `lengthInMinutes` picks one of 60, 90; pass the same value to the slots request as `duration`.
- A successful response is a pending booking request.
