Skip to content

When creating a booking via the /v2/bookings endpoint, the API returns a 400 BAD_REQUEST error with the message: responses - {title}error_required_field #24851

Description

@thesohailjafri

Issue Summary

When creating a booking via the /v2/bookings endpoint, the API returns a 400 BAD_REQUEST error with the message:

Image

responses - {title}error_required_field

Even when all required fields appear to be provided, the API does not accept the request and gives no clear documentation that "title" is a required field at the root booking level, not inside attendee.

This contradicts the API documentation and causes booking failures.

Steps to Reproduce

  1. Send a POST request to /v2/bookings or https://cal.com/docs/api-reference/v2/bookings/create-a-booking?playground=open
  2. Include valid booking data including:
    • start
    • attendee (name, email, phone, timezone, language)
    • eventTypeId
  3. API responds with a 400 error asking for a missing "title" field

Example request used:

curl --request POST \
  --url https://api.cal.com/v2/bookings \
  --header 'Content-Type: application/json' \
  --header 'cal-api-version: 2024-08-13' \
  --data '{
  "start": "2025-11-10T17:30:00.000Z",
  "attendee": {
    "name": "Sohail",
    "email": "sohail@gmail.com",
    "timeZone": "America/Chicago",
    "phoneNumber": "+13125557890",
    "language": "en"
  },
  "eventTypeId": 3799201
}'

Actual Results

  • Booking creation fails
  • Server returns:

400 BAD_REQUEST
responses - {title}error_required_field

  • Error response does not clarify where "title" should be placed

Expected Results

  • Booking should be successfully created or
  • Error message should clearly indicate:
    • "title" is required
    • "title" should be at the root booking level
  • API documentation should reflect correct required fields and structure

Technical Details

  • API: Cal.com /v2/bookings
  • Timestamp: 2025-11-02T18:13:12.905Z
  • Headers:
    • Content-Type: application/json
    • cal-api-version: 2024-08-13
  • Environment:
    • Node.js automation (n8n server)
    • Also reproduced via Postman and cURL

Backend error received:

{"status":"error","timestamp":"2025-11-02T18:13:12.905Z","path":"/v2/bookings","error":{"code":"BAD_REQUEST","message":"responses - {title}error_required_field, "}}

Evidence

  • Reproducible from multiple clients (n8n, Postman, cURL)
  • Valid JSON structure confirmed
  • Attached server error logs
  • Booking fails despite required fields present

Additional Context

  • This issue is blocking production automation for an AI-powered voice receptionist booking system
  • "title" field are not documented as required for /v2/bookings
  • Suggested improvements:
    • Update API documentation to reflect required fields
    • Include clear path to missing property in error response

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐛 bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions