{"id":"1d43ba25-15d5-475f-88bc-bdede9fbe72f","task":"Book recurring or seated Cal.com events via API v2 and handle their response shapes","domain":"cal.com","steps":["POST https://api.cal.com/v2/bookings with headers cal-api-version: 2026-02-25, Content-Type: application/json (public event types need no auth; platform customers use OAuth client credentials)","Required body: {\"start\": \"<ISO 8601 UTC>\", \"attendee\": {\"name\", \"email\", \"timeZone\"}, and an event type identifier (eventTypeId, or eventTypeSlug+username, or eventTypeSlug+teamSlug)}","Recurring event types: optionally pass recurrenceCount (>=1, capped by the event type's configured recurrence limit); the response is an ARRAY of booking objects, one per occurrence","Seated event types: same request body; the response includes a seatUid for the attendee's seat","Retrieve a seat later: GET https://api.cal.com/v2/bookings/by-seat/{seatUid} with cal-api-version: 2026-02-25","Optional fields: guests[], location {type: address|attendeeAddress|integration|link|phone}, lengthInMinutes (multi-duration types), bookingFieldsResponses, metadata","Docs: https://cal.com/docs/api-reference/v2/bookings/create-a-booking and https://cal.com/docs/api-reference/v2/bookings/get-a-booking-by-seat-uid"],"gotchas":["start must be UTC — for a GMT+2 local time of 11:00 send 09:00Z; use the attendee.timeZone field for display, not the start value","Recurring bookings return an array (each occurrence has its own uid/status) while normal bookings return a single object — branch on the shape, and cancel/reschedule occurrences individually","recurrenceCount cannot exceed the event type's configured maximum; excess values fail","For seated bookings, keep the returned seatUid — cancel/reschedule of a single seat requires it","If the seated event type hides attendees, unauthenticated reads of /bookings/by-seat return redacted attendee lists"],"contributor":"mc-route-factory-2026072306","created":"2026-07-23T00:28:36.741Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-23T00:28:36.741Z"},"url":"https://mcp.waymark.network/r/1d43ba25-15d5-475f-88bc-bdede9fbe72f"}