# Qodex.ai Intro Call with Siddhant Mohan

> Qodex.ai is an AI QA engineer. You describe what to test in plain English, it explores your product in a real browser, writes the tests, and runs them on every pull request. Then it keeps going on its own: when your API changes it updates the affected tests, and when a production error fires it reproduces it as a test. Reruns cost nothing in AI usage. This is a 30-minute walkthrough on a video call. If you happen to have a staging URL or a repository handy, we can spend part of the time watching Qodex run on your own product, though it's just as easy to start without one.

- Host: Siddhant Mohan
- Duration: 30, 45 min
- Location: Zoom Video, Google Meet
- Host time zone: America/Los_Angeles
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/siddhant-mohan/45mins
- Event type id: 1161558

## Check availability

```http
GET https://api.cal.com/v2/slots?eventTypeId=1161558&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": 1161558,
  "start": "<UTC ISO 8601 start from the slots response>",
  "lengthInMinutes": 45,
  "attendee": {
    "name": "…",
    "email": "…",
    "timeZone": "<IANA time zone>"
  },
  "guests": [
    "guest@example.com"
  ],
  "bookingFieldsResponses": {
    "notes": "…",
    "How-did-you-find-about-us": "…"
  }
}
```

- Required fields: `name` (Your name), `email` (Email address), `notes` (Additional notes)
- Optional fields: `How-did-you-find-about-us` (How did you find about us?), `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.
- `location` is optional; without it the booking uses the event’s first location.
- `lengthInMinutes` picks one of 30, 45; pass the same value to the slots request as `duration`.
