{"openapi":"3.1.0","info":{"title":"Calendinho API","summary":"Versioned scheduling API for Calendinho","description":"Calendinho's REST API for profiles, availability, bookings, calendars, teams, and scheduling workflows. New integrations must use `/api/v1`.","termsOfService":"https://calendinho.com/terms","contact":{"name":"Calendinho","url":"https://calendinho.com/contact","email":"legal@calendinho.com"},"version":"1.0.0","x-api-version-policy":{"current":"v1","pathPrefix":"/api/v1","deprecationPolicy":"https://calendinho.com/developers","minimumSunsetNoticeDays":180}},"paths":{"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Get Me","description":"Return the current authenticated user's profile (including slug).","operationId":"get_api_v1_auth_me","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/attribution":{"post":{"tags":["auth"],"summary":"Record Attribution","description":"Persist first-touch acquisition attribution. Immutable once set, so the\nfrontend can safely call this on every authenticated load.","operationId":"post_api_v1_auth_attribution","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/auth/register":{"post":{"tags":["auth"],"summary":"Register","operationId":"post_api_v1_auth_register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Register. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"post_api_v1_auth_login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLogin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Login. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/event-types":{"get":{"tags":["event-types"],"summary":"List Event Types","operationId":"get_api_v1_event_types","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EventTypeResponse"},"type":"array","title":"Response Get Api V1 Event Types"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Event Types. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["event-types"],"summary":"Create Event Type","operationId":"post_api_v1_event_types","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTypeCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTypeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create Event Type. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/event-types/{event_type_id}":{"get":{"tags":["event-types"],"summary":"Get Event Type","operationId":"get_api_v1_event_types_event_type_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type_id","in":"path","required":true,"schema":{"type":"string","title":"Event Type Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTypeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Event Type. This operation is part of the stable Calendinho REST API v1."},"patch":{"tags":["event-types"],"summary":"Update Event Type","operationId":"patch_api_v1_event_types_event_type_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type_id","in":"path","required":true,"schema":{"type":"string","title":"Event Type Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTypeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTypeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Event Type. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["event-types"],"summary":"Delete Event Type","operationId":"delete_api_v1_event_types_event_type_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type_id","in":"path","required":true,"schema":{"type":"string","title":"Event Type Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Event Type. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/event-types/{event_type_id}/availability":{"get":{"tags":["event-types"],"summary":"Get Event Type Availability","operationId":"get_api_v1_event_types_event_type_id_availability","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type_id","in":"path","required":true,"schema":{"type":"string","title":"Event Type Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTypeAvailabilityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Event Type Availability. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/availability/weekly":{"get":{"tags":["availability"],"summary":"Get Weekly Schedule","operationId":"get_api_v1_availability_weekly","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WeeklyScheduleResponse"},"type":"array","title":"Response Get Api V1 Availability Weekly"}}}}},"security":[{"HTTPBearer":[]}],"description":"Get Weekly Schedule. This operation is part of the stable Calendinho REST API v1."},"put":{"tags":["availability"],"summary":"Upsert Weekly Schedule","operationId":"put_api_v1_availability_weekly","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WeeklyScheduleUpsert"},"type":"array","title":"Items"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WeeklyScheduleResponse"},"type":"array","title":"Response Put Api V1 Availability Weekly"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Upsert Weekly Schedule. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/availability/overrides":{"get":{"tags":["availability"],"summary":"List Date Overrides","operationId":"get_api_v1_availability_overrides","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DateOverrideResponse"},"type":"array","title":"Response Get Api V1 Availability Overrides"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Date Overrides. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["availability"],"summary":"Create Date Override","operationId":"post_api_v1_availability_overrides","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateOverrideCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateOverrideResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create Date Override. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/availability/overrides/{override_id}":{"delete":{"tags":["availability"],"summary":"Delete Date Override","operationId":"delete_api_v1_availability_overrides_override_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"override_id","in":"path","required":true,"schema":{"type":"string","title":"Override Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Date Override. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings/availability/by-token/{token}":{"get":{"tags":["bookings"],"summary":"Get Available Slots By Token","description":"Availability for \"Shared\" event types (AXIOM-168 3C1).\n\nShared events live at /m/{token} rather than under a user/team slug,\nso they need their own availability lookup keyed by `public_token`.\nThe response shape matches the slug-based endpoint exactly.","operationId":"get_api_v1_bookings_availability_by_token_token","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"month","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM, e.g. 2026-03","title":"Month"},"description":"YYYY-MM, e.g. 2026-03"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableSlotsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/availability/{slug}/{event_type_slug}":{"get":{"tags":["bookings"],"summary":"Get Available Slots","operationId":"get_api_v1_bookings_availability_slug_event_type_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"event_type_slug","in":"path","required":true,"schema":{"type":"string","title":"Event Type Slug"}},{"name":"month","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM, e.g. 2026-03","title":"Month"},"description":"YYYY-MM, e.g. 2026-03"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableSlotsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Available Slots. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings":{"post":{"tags":["bookings"],"summary":"Create Booking","operationId":"post_api_v1_bookings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Create Booking. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings/{booking_id}":{"get":{"tags":["bookings"],"summary":"Get Booking","operationId":"get_api_v1_bookings_booking_id","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","title":"Booking Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Booking. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings/{booking_id}/scheduled-reminders":{"get":{"tags":["bookings"],"summary":"List Booking Scheduled Reminders","description":"Return all scheduled reminders for this booking, scoped to the booking's owner host.","operationId":"get_api_v1_bookings_booking_id_scheduled_reminders","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","title":"Booking Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledRemindersList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/{booking_id}/calendar.ics":{"get":{"tags":["bookings"],"summary":"Download Booking Ics","description":"Return an ICS file for the given booking.","operationId":"get_api_v1_bookings_booking_id_calendar_ics","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","title":"Booking Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/{booking_id}/cancel":{"patch":{"tags":["bookings"],"summary":"Cancel Booking","operationId":"patch_api_v1_bookings_booking_id_cancel","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","title":"Booking Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Cancel Booking. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings/{booking_id}/reschedule":{"patch":{"tags":["bookings"],"summary":"Reschedule Booking","description":"Reschedule a booking to a new time. Guest-initiated (no auth).","operationId":"patch_api_v1_bookings_booking_id_reschedule","parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","title":"Booking Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRescheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/host/summary":{"get":{"tags":["bookings"],"summary":"Get Host Dashboard Summary","description":"Return only the counters and next five bookings needed by dashboard home.","operationId":"get_api_v1_bookings_host_summary","security":[{"HTTPBearer":[]}],"parameters":[{"name":"today_start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Today Start"}},{"name":"today_end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Today End"}},{"name":"week_start","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Week Start"}},{"name":"week_end","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Week End"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostDashboardSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/host/list":{"get":{"tags":["bookings"],"summary":"List Host Bookings","description":"Return all bookings for the authenticated host, optionally filtered by status.\n\nMatches the legacy primary host (`Booking.user_id`) plus any user attached\nvia the `booking_hosts` join table (collective / round-robin events).","operationId":"get_api_v1_bookings_host_list","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["confirmed","pending","cancelled","rescheduled"],"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HostBookingResponse"},"title":"Response Get Api V1 Bookings Host List"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/host/{booking_id}":{"get":{"tags":["bookings"],"summary":"Get Host Booking","operationId":"get_api_v1_bookings_host_booking_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostBookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Host Booking. This operation is part of the stable Calendinho REST API v1."},"patch":{"tags":["bookings"],"summary":"Edit Host Booking","description":"Edit a booking's location and/or host notes. Host-initiated (auth required).","operationId":"patch_api_v1_bookings_host_booking_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostBookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bookings/host/{booking_id}/cancel":{"patch":{"tags":["bookings"],"summary":"Cancel Host Booking","operationId":"patch_api_v1_bookings_host_booking_id_cancel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingCancelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostBookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Cancel Host Booking. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings/host/{booking_id}/guests":{"post":{"tags":["bookings"],"summary":"Add Booking Guest","operationId":"post_api_v1_bookings_host_booking_id_guests","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddGuestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostBookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Add Booking Guest. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/bookings/host/{booking_id}/reschedule":{"patch":{"tags":["bookings"],"summary":"Reschedule Host Booking","description":"Reschedule a booking to a new time. Host-initiated (auth required).","operationId":"patch_api_v1_bookings_host_booking_id_reschedule","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Booking Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingRescheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostBookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/sitemap-profiles":{"get":{"tags":["public"],"summary":"Get Sitemap Profiles","operationId":"get_api_v1_public_sitemap_profiles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SitemapProfileEntry"},"type":"array","title":"Response Get Api V1 Public Sitemap Profiles"}}}}},"description":"Get Sitemap Profiles. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/public/profile/{slug}":{"get":{"tags":["public"],"summary":"Get Public Profile","description":"Legacy user-profile lookup. Kept for backwards compatibility.","operationId":"get_api_v1_public_profile_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUserProfileResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/profile/{slug}/event-types":{"get":{"tags":["public"],"summary":"Get Public Event Types","operationId":"get_api_v1_public_profile_slug_event_types","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicEventTypeResponse"},"title":"Response Get Api V1 Public Profile Slug Event Types"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Public Event Types. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/public/profile/{slug}/page":{"get":{"tags":["public"],"summary":"Get Public Page","operationId":"get_api_v1_public_profile_slug_page","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PublicPageResponse"},{"type":"null"}],"title":"Response Get Api V1 Public Profile Slug Page"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Public Page. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/public/one-off/{token}":{"get":{"tags":["public"],"summary":"Get Public One Off","operationId":"get_api_v1_public_one_off_token","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOneOffMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Public One Off. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/public/one-off/{token}/book":{"post":{"tags":["public"],"summary":"Book Public One Off","operationId":"post_api_v1_public_one_off_token_book","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OneOffBookingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Book Public One Off. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/public/profile/{slug}/{event_type_slug}":{"get":{"tags":["public"],"summary":"Get Public Event Type","operationId":"get_api_v1_public_profile_slug_event_type_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"event_type_slug","in":"path","required":true,"schema":{"type":"string","title":"Event Type Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventTypeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Public Event Type. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/public/profiles/{slug}":{"get":{"tags":["public"],"summary":"Get Public Profile Unified","description":"Resolve a slug to either a user profile or a team profile.","operationId":"get_api_v1_public_profiles_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProfileLookupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/m/{token}":{"get":{"tags":["public"],"summary":"Get Public Shared Event","description":"Resolve a Shared event type by its random public token.","operationId":"get_api_v1_public_m_token","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventTypeWithHosts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/profiles/{slug}/event-types/{event_slug}":{"get":{"tags":["public"],"summary":"Get Public Profile Event Type","description":"Resolve owner via slug, then look up the event type by (owner, slug).\n\nWorks for both user-owned and team-owned event types.","operationId":"get_api_v1_public_profiles_slug_event_types_event_slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"event_slug","in":"path","required":true,"schema":{"type":"string","title":"Event Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventTypeWithHosts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team":{"get":{"tags":["team"],"summary":"Get My Team","description":"Return the team the authenticated user belongs to (or null).","operationId":"get_api_v1_team","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/TeamResponse"},{"type":"null"}],"title":"Response Get Api V1 Team"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["team"],"summary":"Create Team","operationId":"post_api_v1_team","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create Team. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/team/{team_id}":{"patch":{"tags":["team"],"summary":"Update Team","operationId":"patch_api_v1_team_team_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Team. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/team/{team_id}/invite":{"post":{"tags":["team"],"summary":"Invite Member","operationId":"post_api_v1_team_team_id_invite","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamInviteCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Invite Member. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/team/{team_id}/invite/{invite_id}/cancel":{"patch":{"tags":["team"],"summary":"Cancel Invite","operationId":"patch_api_v1_team_team_id_invite_invite_id_cancel","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamInviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Cancel Invite. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/team/invites/accept/{token}":{"post":{"tags":["team"],"summary":"Accept Invite","description":"Accept a team invite using the token from the invitation email.","operationId":"post_api_v1_team_invites_accept_token","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/invites/preview/{token}":{"get":{"tags":["team"],"summary":"Preview Invite","description":"Public — returns team_name/inviter_name/invited_email for a pending invite.\n\nUsed by /invite/[token] so logged-out users can see context before signing in.\nReturns 404 for unknown, cancelled, or accepted invites — the public surface\ndeliberately collapses all \"you cannot accept this\" states into one response.","operationId":"get_api_v1_team_invites_preview_token","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamInvitePreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/my-invites":{"get":{"tags":["team"],"summary":"My Invites","description":"List pending team invites addressed to the authenticated user.","operationId":"get_api_v1_team_my_invites","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PendingInviteResponse"},"type":"array","title":"Response Get Api V1 Team My Invites"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/invites/{invite_id}/accept":{"post":{"tags":["team"],"summary":"Accept Invite By Id","description":"Accept a pending invite by id, from within the dashboard.","operationId":"post_api_v1_team_invites_invite_id_accept","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/invites/{invite_id}/decline":{"post":{"tags":["team"],"summary":"Decline Invite","description":"Decline a pending invite from within the dashboard.","operationId":"post_api_v1_team_invites_invite_id_decline","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/{team_id}/members/{member_id}":{"patch":{"tags":["team"],"summary":"Update Member Role","operationId":"patch_api_v1_team_team_id_members_member_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Member Role. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["team"],"summary":"Remove Member","operationId":"delete_api_v1_team_team_id_members_member_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Remove Member. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows":{"get":{"tags":["workflows"],"summary":"List Workflows","operationId":"get_api_v1_workflows","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowList"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Workflows. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["workflows"],"summary":"Create Workflow","operationId":"post_api_v1_workflows","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create Workflow. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows/prefabs":{"get":{"tags":["workflows"],"summary":"List Prefabs","operationId":"get_api_v1_workflows_prefabs","security":[{"HTTPBearer":[]}],"parameters":[{"name":"locale","in":"query","required":false,"schema":{"type":"string","default":"pt-BR","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrefabsList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"List Prefabs. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows/merge-tags":{"get":{"tags":["workflows"],"summary":"List Merge Tags","operationId":"get_api_v1_workflows_merge_tags","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeTagsList"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Merge Tags. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows/{workflow_id}":{"get":{"tags":["workflows"],"summary":"Get Workflow","operationId":"get_api_v1_workflows_workflow_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Workflow. This operation is part of the stable Calendinho REST API v1."},"patch":{"tags":["workflows"],"summary":"Patch Workflow","operationId":"patch_api_v1_workflows_workflow_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Patch Workflow. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["workflows"],"summary":"Delete Workflow","operationId":"delete_api_v1_workflows_workflow_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Workflow. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows/{workflow_id}/steps":{"post":{"tags":["workflows"],"summary":"Create Step","operationId":"post_api_v1_workflows_workflow_id_steps","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowStepCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowStepRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Create Step. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows/{workflow_id}/steps/{step_id}":{"patch":{"tags":["workflows"],"summary":"Patch Step","operationId":"patch_api_v1_workflows_workflow_id_steps_step_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}},{"name":"step_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Step Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowStepUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowStepRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Patch Step. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["workflows"],"summary":"Delete Step","operationId":"delete_api_v1_workflows_workflow_id_steps_step_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}},{"name":"step_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Step Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Step. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/workflows/{workflow_id}/event-types":{"put":{"tags":["workflows"],"summary":"Set Event Types","description":"Idempotent set of attached event types. Detaching cascades cancel pending reminders.","operationId":"put_api_v1_workflows_workflow_id_event_types","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowEventTypesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/{workflow_id}/steps/{step_id}/test":{"post":{"tags":["workflows"],"summary":"Test Send Step","description":"Render the step with placeholder values and send to the authed host's email.","operationId":"post_api_v1_workflows_workflow_id_steps_step_id_test","security":[{"HTTPBearer":[]}],"parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workflow Id"}},{"name":"step_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Step Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts":{"get":{"tags":["contacts"],"summary":"List Contacts","operationId":"get_api_v1_contacts","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search by name or email","title":"Q"},"description":"Search by name or email"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContactResponse"},"title":"Response Get Api V1 Contacts"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"List Contacts. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["contacts"],"summary":"Create Contact","operationId":"post_api_v1_contacts","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Create Contact. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/contacts/{contact_id}":{"patch":{"tags":["contacts"],"summary":"Update Contact","operationId":"patch_api_v1_contacts_contact_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Contact. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["contacts"],"summary":"Delete Contact","operationId":"delete_api_v1_contacts_contact_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Contact. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/contacts/sync-calendar":{"post":{"tags":["contacts"],"summary":"Sync From Calendar","operationId":"post_api_v1_contacts_sync_calendar","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncCalendarResponse"}}}}},"security":[{"HTTPBearer":[]}],"description":"Sync From Calendar. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/status":{"get":{"tags":["integrations"],"summary":"Get Integration Status","operationId":"get_api_v1_integrations_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationStatusResponse"}}}}},"security":[{"HTTPBearer":[]}],"description":"Get Integration Status. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/calendar-accounts":{"get":{"tags":["integrations"],"summary":"List Calendar Accounts","operationId":"get_api_v1_integrations_calendar_accounts","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAccountListResponse"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Calendar Accounts. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/calendar-accounts/{account_id}":{"delete":{"tags":["integrations"],"summary":"Disconnect Calendar Account","operationId":"delete_api_v1_integrations_calendar_accounts_account_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Disconnect Calendar Account. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/calendar-accounts/{account_id}/calendars":{"get":{"tags":["integrations"],"summary":"List Account Calendars","operationId":"get_api_v1_integrations_calendar_accounts_account_id_calendars","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","description":"Re-fetch calendar list from the provider","default":false,"title":"Refresh"},"description":"Re-fetch calendar list from the provider"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAccountCalendarListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"List Account Calendars. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/calendar-accounts/{account_id}/calendars/{calendar_id}":{"patch":{"tags":["integrations"],"summary":"Update Account Calendar","operationId":"patch_api_v1_integrations_calendar_accounts_account_id_calendars_calendar_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"calendar_id","in":"path","required":true,"schema":{"type":"string","title":"Calendar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarCalendarToggleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAccountCalendarSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Account Calendar. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/events":{"get":{"tags":["integrations"],"summary":"Get Merged Events","operationId":"get_api_v1_integrations_events","security":[{"HTTPBearer":[]}],"parameters":[{"name":"start","in":"query","required":true,"schema":{"type":"string","description":"Start date YYYY-MM-DD","title":"Start"},"description":"Start date YYYY-MM-DD"},{"name":"end","in":"query","required":true,"schema":{"type":"string","description":"End date YYYY-MM-DD","title":"End"},"description":"End date YYYY-MM-DD"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergedCalendarEventsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Merged Events. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/google/connect":{"get":{"tags":["integrations"],"summary":"Google Connect","operationId":"get_api_v1_integrations_google_connect","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Google Connect. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/google/callback":{"get":{"tags":["integrations"],"summary":"Google Callback","operationId":"get_api_v1_integrations_google_callback","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Google Callback. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/microsoft/connect":{"get":{"tags":["integrations"],"summary":"Microsoft Connect","operationId":"get_api_v1_integrations_microsoft_connect","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Microsoft Connect. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/microsoft/callback":{"get":{"tags":["integrations"],"summary":"Microsoft Callback","operationId":"get_api_v1_integrations_microsoft_callback","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"error_description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Microsoft Callback. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/zoom/connect":{"get":{"tags":["integrations"],"summary":"Zoom Connect","operationId":"get_api_v1_integrations_zoom_connect","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Zoom Connect. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/zoom/callback":{"get":{"tags":["integrations"],"summary":"Zoom Callback","operationId":"get_api_v1_integrations_zoom_callback","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Zoom Callback. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/integrations/zoom/disconnect":{"delete":{"tags":["integrations"],"summary":"Zoom Disconnect","operationId":"delete_api_v1_integrations_zoom_disconnect","responses":{"204":{"description":"Successful Response"}},"security":[{"HTTPBearer":[]}],"description":"Zoom Disconnect. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/settings/profile":{"get":{"tags":["settings"],"summary":"Get Profile","operationId":"get_api_v1_settings_profile","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}}},"security":[{"HTTPBearer":[]}],"description":"Get Profile. This operation is part of the stable Calendinho REST API v1."},"patch":{"tags":["settings"],"summary":"Update Profile","operationId":"patch_api_v1_settings_profile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Update Profile. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/settings/slug-check":{"get":{"tags":["settings"],"summary":"Check Slug Availability","operationId":"get_api_v1_settings_slug_check","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"query","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlugCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Check Slug Availability. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/settings/onboarding-draft":{"patch":{"tags":["settings"],"summary":"Update Onboarding Draft","description":"Persist in-progress onboarding state as a server-side backup.\n\nSchema-less by design — the frontend owns the shape. Wipes when the\nuser finishes onboarding (see ``update_profile``).","operationId":"patch_api_v1_settings_onboarding_draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingDraftUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/settings/setup-step":{"post":{"tags":["settings"],"summary":"Complete Setup Step","operationId":"post_api_v1_settings_setup_step","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_post_api_v1_settings_setup_step"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Complete Setup Step. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/schedules":{"get":{"tags":["schedules"],"summary":"List Schedules","operationId":"get_api_v1_schedules","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ScheduleResponse"},"type":"array","title":"Response Get Api V1 Schedules"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Schedules. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["schedules"],"summary":"Create Schedule","operationId":"post_api_v1_schedules","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create Schedule. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/schedules/{schedule_id}":{"get":{"tags":["schedules"],"summary":"Get Schedule","operationId":"get_api_v1_schedules_schedule_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Schedule. This operation is part of the stable Calendinho REST API v1."},"put":{"tags":["schedules"],"summary":"Update Schedule","operationId":"put_api_v1_schedules_schedule_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Schedule. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["schedules"],"summary":"Delete Schedule","operationId":"delete_api_v1_schedules_schedule_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Schedule. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/schedules/{schedule_id}/event-types":{"get":{"tags":["schedules"],"summary":"List Schedule Event Types","operationId":"get_api_v1_schedules_schedule_id_event_types","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleEventTypeResponse"},"title":"Response Get Api V1 Schedules Schedule Id Event Types"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"List Schedule Event Types. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/schedules/{schedule_id}/weekly":{"put":{"tags":["schedules"],"summary":"Upsert Schedule Weekly","operationId":"put_api_v1_schedules_schedule_id_weekly","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WeeklyScheduleUpsert"},"title":"Items"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WeeklyScheduleResponse"},"title":"Response Put Api V1 Schedules Schedule Id Weekly"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Upsert Schedule Weekly. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/schedules/{schedule_id}/overrides":{"get":{"tags":["schedules"],"summary":"List Schedule Overrides","operationId":"get_api_v1_schedules_schedule_id_overrides","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DateOverrideResponse"},"title":"Response Get Api V1 Schedules Schedule Id Overrides"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"List Schedule Overrides. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["schedules"],"summary":"Create Schedule Override","operationId":"post_api_v1_schedules_schedule_id_overrides","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateOverrideCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DateOverrideResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Create Schedule Override. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/schedules/{schedule_id}/overrides/{override_id}":{"delete":{"tags":["schedules"],"summary":"Delete Schedule Override","operationId":"delete_api_v1_schedules_schedule_id_overrides_override_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"override_id","in":"path","required":true,"schema":{"type":"string","title":"Override Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Schedule Override. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/holidays/catalog":{"get":{"tags":["holidays"],"summary":"Get Catalog","description":"Lazy-seed and return the holiday catalog for (country, region, year).","operationId":"get_api_v1_holidays_catalog","parameters":[{"name":"country","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":2,"title":"Country"}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":1900,"title":"Year"}},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Region"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/holidays/br/{year}":{"get":{"tags":["holidays"],"summary":"Get Brazilian Holidays Legacy","operationId":"get_api_v1_holidays_br_year","deprecated":true,"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","maximum":2100,"minimum":1900,"title":"Year"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Brazilian Holidays Legacy. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/me/holiday-profile":{"get":{"tags":["me"],"summary":"Get My Profile","operationId":"get_api_v1_me_holiday_profile","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayProfileOut"}}}}},"security":[{"HTTPBearer":[]}],"description":"Get My Profile. This operation is part of the stable Calendinho REST API v1."},"put":{"tags":["me"],"summary":"Put My Profile","operationId":"put_api_v1_me_holiday_profile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayProfileIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayProfileOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Put My Profile. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/me/holiday-optouts":{"post":{"tags":["me"],"summary":"Post Optout","operationId":"post_api_v1_me_holiday_optouts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HolidayOptoutIn"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Post Optout. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/me/holiday-optouts/{recurrence_key}":{"delete":{"tags":["me"],"summary":"Delete Optout","operationId":"delete_api_v1_me_holiday_optouts_recurrence_key","security":[{"HTTPBearer":[]}],"parameters":[{"name":"recurrence_key","in":"path","required":true,"schema":{"type":"string","title":"Recurrence Key"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Optout. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/locations":{"get":{"tags":["locations"],"summary":"List Locations","operationId":"get_api_v1_locations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LocationResponse"},"type":"array","title":"Response Get Api V1 Locations"}}}}},"security":[{"HTTPBearer":[]}],"description":"List Locations. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["locations"],"summary":"Create Location","operationId":"post_api_v1_locations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create Location. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/locations/{location_id}":{"get":{"tags":["locations"],"summary":"Get Location","operationId":"get_api_v1_locations_location_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"location_id","in":"path","required":true,"schema":{"type":"string","title":"Location Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get Location. This operation is part of the stable Calendinho REST API v1."},"patch":{"tags":["locations"],"summary":"Update Location","operationId":"patch_api_v1_locations_location_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"location_id","in":"path","required":true,"schema":{"type":"string","title":"Location Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Location. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["locations"],"summary":"Delete Location","operationId":"delete_api_v1_locations_location_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"location_id","in":"path","required":true,"schema":{"type":"string","title":"Location Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete Location. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/one-off-meetings":{"get":{"tags":["one-off-meetings"],"summary":"List One Off Meetings","operationId":"get_api_v1_one_off_meetings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OneOffMeetingResponse"},"type":"array","title":"Response Get Api V1 One Off Meetings"}}}}},"security":[{"HTTPBearer":[]}],"description":"List One Off Meetings. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["one-off-meetings"],"summary":"Create One Off Meeting","operationId":"post_api_v1_one_off_meetings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OneOffMeetingCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OneOffMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Create One Off Meeting. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/one-off-meetings/{meeting_id}":{"get":{"tags":["one-off-meetings"],"summary":"Get One Off Meeting","operationId":"get_api_v1_one_off_meetings_meeting_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Meeting Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OneOffMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Get One Off Meeting. This operation is part of the stable Calendinho REST API v1."},"delete":{"tags":["one-off-meetings"],"summary":"Delete One Off Meeting","operationId":"delete_api_v1_one_off_meetings_meeting_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Meeting Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Delete One Off Meeting. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/reminders/send-due":{"get":{"tags":["reminders"],"summary":"Send Due Reminders","description":"Manually drain due rows; the production scheduler uses the same service.","operationId":"get_api_v1_reminders_send_due","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledRemindersDrainResponse"}}}}}}},"/api/v1/page-settings":{"get":{"tags":["page-settings"],"summary":"Get Page Settings","operationId":"get_api_v1_page_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageSettingsResponse"}}}}},"security":[{"HTTPBearer":[]}],"description":"Get Page Settings. This operation is part of the stable Calendinho REST API v1."},"put":{"tags":["page-settings"],"summary":"Update Page Settings","operationId":"put_api_v1_page_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}],"description":"Update Page Settings. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/chat/sessions":{"post":{"tags":["chat"],"summary":"Create Chat Session","description":"Create or resume a chat session.","operationId":"post_api_v1_chat_sessions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/chat/sessions/{session_id}/messages":{"get":{"tags":["chat"],"summary":"Get Session Messages","description":"Get message history for a session.","operationId":"get_api_v1_chat_sessions_session_id_messages","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChatMessageResponse"},"title":"Response Get Api V1 Chat Sessions Session Id Messages"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["chat"],"summary":"Send Message","description":"Send a user message, then stream the agent response.\n\nPersists the user message immediately. The agent response is collected\nfrom the SSE stream and persisted on completion. Returns the full\nassistant response text.","operationId":"post_api_v1_chat_sessions_session_id_messages","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/chat/sessions/{session_id}/stream":{"get":{"tags":["chat"],"summary":"Stream Session","description":"SSE proxy for Managed Agent session responses.\n\nOpens the SSE stream from Anthropic and relays events to the client.\nCollects agent.message text and persists the full assistant response\nwhen the agent goes idle.","operationId":"get_api_v1_chat_sessions_session_id_stream","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/chat/sessions/{session_id}/messages/{message_id}/metadata":{"patch":{"tags":["chat"],"summary":"Update Message Metadata","operationId":"patch_api_v1_chat_sessions_session_id_messages_message_id_metadata","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","title":"Message Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMetadataRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMetadataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Update Message Metadata. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/chat/sessions/{session_id}":{"delete":{"tags":["chat"],"summary":"Deactivate Chat Session","description":"Deactivate a host session (new conversation).","operationId":"delete_api_v1_chat_sessions_session_id","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeactivateSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/email/inbound":{"post":{"tags":["email-scheduling"],"summary":"Receive Inbound Email","description":"Receive inbound email from Resend webhook.","operationId":"post_api_v1_email_inbound","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundEmailResponse"}}}}}}},"/api/v1/dev/email/simulate":{"post":{"tags":["dev"],"summary":"Simulate Email","description":"Simulate an inbound email through the full agent pipeline.","operationId":"post_api_v1_dev_email_simulate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSimulationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailSimulationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dev/onboarding/reset":{"post":{"tags":["dev"],"summary":"Reset Onboarding","description":"Wipe the calling user's onboarding-derived data and flip them back to\n`onboarding_completed=False`. Identity and agent history are preserved.","operationId":"post_api_v1_dev_onboarding_reset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingResetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingResetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/calendar-analysis":{"get":{"tags":["onboarding"],"summary":"Get Calendar Analysis","operationId":"get_api_v1_onboarding_calendar_analysis","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarAnalysisResponse"}}}}},"security":[{"HTTPBearer":[]}],"description":"Get Calendar Analysis. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/onboarding-emails/click":{"get":{"tags":["onboarding-emails"],"summary":"Track Click","operationId":"get_api_v1_onboarding_emails_click","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"307":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Track Click. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/onboarding-emails/unsubscribe":{"get":{"tags":["onboarding-emails"],"summary":"Unsubscribe Confirmation","operationId":"get_api_v1_onboarding_emails_unsubscribe","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Unsubscribe Confirmation. This operation is part of the stable Calendinho REST API v1."},"post":{"tags":["onboarding-emails"],"summary":"Unsubscribe","operationId":"post_api_v1_onboarding_emails_unsubscribe","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Unsubscribe. This operation is part of the stable Calendinho REST API v1."}},"/api/v1/onboarding-emails/send-due":{"get":{"tags":["onboarding-emails"],"summary":"Send Due Onboarding Emails","description":"Manual/cron drain using the same idempotent service as the scheduler.","operationId":"get_api_v1_onboarding_emails_send_due","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingEmailDrainResponse"}}}}}}},"/api/v1/test/seed-team":{"post":{"tags":["test"],"summary":"Seed Team","operationId":"post_api_v1_test_seed_team","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedTeamRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedTeamResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"description":"Seed Team. This operation is part of the stable Calendinho REST API v1."}}},"components":{"schemas":{"AddGuestRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"}},"type":"object","required":["email"],"title":"AddGuestRequest"},"AttributionResponse":{"properties":{"recorded":{"type":"boolean","title":"Recorded"}},"type":"object","required":["recorded"],"title":"AttributionResponse"},"AttributionUpdate":{"properties":{"utm_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Source"},"utm_medium":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Medium"},"utm_campaign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Campaign"},"utm_term":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Term"},"utm_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Content"},"referrer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer"},"landing_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Landing Path"},"gclid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gclid"},"fbclid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fbclid"}},"type":"object","title":"AttributionUpdate","description":"First-touch acquisition signal captured client-side at landing and sent\nonce after authentication. All optional — a direct visit sends an empty body."},"AvailableSlotsResponse":{"properties":{"timezone":{"type":"string","title":"Timezone"},"slots":{"items":{"$ref":"#/components/schemas/TimeSlot"},"type":"array","title":"Slots"}},"type":"object","required":["timezone","slots"],"title":"AvailableSlotsResponse"},"Block":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","enum":["hero","bio","services","gallery","location","social_links","price_list","custom_links","whatsapp_cta"],"title":"Type"},"visible":{"type":"boolean","title":"Visible","default":true},"content":{"additionalProperties":true,"type":"object","title":"Content"}},"type":"object","required":["id","type"],"title":"Block"},"Body_post_api_v1_settings_setup_step":{"properties":{"step":{"type":"string","title":"Step"}},"type":"object","required":["step"],"title":"Body_post_api_v1_settings_setup_step"},"BookingCancelRequest":{"properties":{"cancel_reason":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Cancel Reason"}},"type":"object","title":"BookingCancelRequest"},"BookingCreate":{"properties":{"event_type_id":{"type":"string","format":"uuid","title":"Event Type Id"},"guest_name":{"type":"string","maxLength":200,"minLength":1,"title":"Guest Name"},"guest_email":{"type":"string","format":"email","title":"Guest Email"},"guest_phone":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Guest Phone"},"guest_notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Guest Notes"},"start_time":{"type":"string","format":"date-time","title":"Start Time"},"custom_responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Responses"},"location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Location Id"}},"type":"object","required":["event_type_id","guest_name","guest_email","start_time"],"title":"BookingCreate"},"BookingFieldDefinition":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","enum":["text","textarea","phone","select","boolean","email"],"title":"Type"},"label":{"type":"string","maxLength":200,"minLength":1,"title":"Label"},"required":{"type":"boolean","title":"Required","default":false},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder"},"options":{"anyOf":[{"items":{"$ref":"#/components/schemas/BookingFieldOption"},"type":"array"},{"type":"null"}],"title":"Options"},"position":{"type":"integer","title":"Position","default":0}},"type":"object","required":["name","type","label"],"title":"BookingFieldDefinition"},"BookingFieldOption":{"properties":{"label":{"type":"string","title":"Label"},"value":{"type":"string","title":"Value"}},"type":"object","required":["label","value"],"title":"BookingFieldOption"},"BookingHostInfo":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"name":{"type":"string","title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"slot_kind":{"anyOf":[{"type":"string","enum":["fixed","pool"]},{"type":"null"}],"title":"Slot Kind"}},"type":"object","required":["user_id","name"],"title":"BookingHostInfo"},"BookingRescheduleRequest":{"properties":{"start_time":{"type":"string","format":"date-time","title":"Start Time"},"location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Location Id"}},"type":"object","required":["start_time"],"title":"BookingRescheduleRequest"},"BookingResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"event_type_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Type Id"},"one_off_meeting_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"One Off Meeting Id"},"guest_name":{"type":"string","title":"Guest Name"},"guest_email":{"type":"string","title":"Guest Email"},"guest_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guest Phone"},"guest_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guest Notes"},"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"},"status":{"type":"string","enum":["confirmed","pending","cancelled","rescheduled"],"title":"Status"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Location Id"},"cancel_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Reason"},"custom_responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Responses"},"meeting_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meeting Url"},"rescheduled_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rescheduled From"},"calendar_links":{"anyOf":[{"$ref":"#/components/schemas/CalendarLinks"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","user_id","guest_name","guest_email","guest_notes","start_time","end_time","status","created_at"],"title":"BookingResponse"},"BookingUpdateRequest":{"properties":{"location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Location Id"},"host_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Notes"},"start_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time"},"duration_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Minutes"}},"type":"object","title":"BookingUpdateRequest"},"CalendarAccountCalendarListResponse":{"properties":{"calendars":{"items":{"$ref":"#/components/schemas/CalendarAccountCalendarSchema"},"type":"array","title":"Calendars"}},"type":"object","required":["calendars"],"title":"CalendarAccountCalendarListResponse"},"CalendarAccountCalendarSchema":{"properties":{"id":{"type":"string","title":"Id"},"external_calendar_id":{"type":"string","title":"External Calendar Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"is_primary":{"type":"boolean","title":"Is Primary"},"read_for_conflicts":{"type":"boolean","title":"Read For Conflicts"}},"type":"object","required":["id","external_calendar_id","is_primary","read_for_conflicts"],"title":"CalendarAccountCalendarSchema","description":"One sub-calendar exposed by a connected calendar account."},"CalendarAccountListResponse":{"properties":{"accounts":{"items":{"$ref":"#/components/schemas/CalendarAccountSchema"},"type":"array","title":"Accounts"}},"type":"object","required":["accounts"],"title":"CalendarAccountListResponse"},"CalendarAccountSchema":{"properties":{"id":{"type":"string","title":"Id"},"provider":{"type":"string","title":"Provider"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"status":{"type":"string","title":"Status"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"calendars":{"items":{"$ref":"#/components/schemas/CalendarAccountCalendarSchema"},"type":"array","title":"Calendars","default":[]},"supports_online_meeting":{"type":"boolean","title":"Supports Online Meeting","default":true}},"type":"object","required":["id","provider","status","created_at"],"title":"CalendarAccountSchema","description":"A connected external calendar account (Google, Microsoft, ...)."},"CalendarAnalysisInsight":{"properties":{"icon":{"type":"string","title":"Icon"},"text":{"type":"string","title":"Text"}},"type":"object","required":["icon","text"],"title":"CalendarAnalysisInsight"},"CalendarAnalysisResponse":{"properties":{"insights":{"items":{"$ref":"#/components/schemas/CalendarAnalysisInsight"},"type":"array","maxItems":4,"title":"Insights"},"suggestion":{"$ref":"#/components/schemas/CalendarAnalysisSuggestion"},"has_real_data":{"type":"boolean","title":"Has Real Data"},"events_analyzed":{"type":"integer","title":"Events Analyzed"}},"type":"object","required":["insights","suggestion","has_real_data","events_analyzed"],"title":"CalendarAnalysisResponse"},"CalendarAnalysisSuggestion":{"properties":{"preset":{"type":"string","enum":["comercial","estendido","sabado"],"title":"Preset"},"summary":{"type":"string","title":"Summary"},"reasoning":{"type":"string","title":"Reasoning"}},"type":"object","required":["preset","summary","reasoning"],"title":"CalendarAnalysisSuggestion"},"CalendarCalendarToggleRequest":{"properties":{"read_for_conflicts":{"type":"boolean","title":"Read For Conflicts"}},"type":"object","required":["read_for_conflicts"],"title":"CalendarCalendarToggleRequest"},"CalendarLinks":{"properties":{"google":{"type":"string","title":"Google"},"apple":{"type":"string","title":"Apple"},"outlook":{"type":"string","title":"Outlook"},"ics":{"type":"string","title":"Ics"}},"type":"object","required":["google","apple","outlook","ics"],"title":"CalendarLinks"},"CatalogResponse":{"properties":{"country_code":{"type":"string","title":"Country Code"},"region_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Code"},"year":{"type":"integer","title":"Year"},"national":{"items":{"$ref":"#/components/schemas/HolidayOut"},"type":"array","title":"National"},"regional":{"items":{"$ref":"#/components/schemas/HolidayOut"},"type":"array","title":"Regional"}},"type":"object","required":["country_code","region_code","year","national","regional"],"title":"CatalogResponse"},"ChatMessageResponse":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","title":"Role"},"content":{"type":"string","title":"Content"},"created_at":{"type":"string","title":"Created At"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"is_silent":{"type":"boolean","title":"Is Silent","default":false}},"type":"object","required":["id","role","content","created_at"],"title":"ChatMessageResponse"},"ChatSessionResponse":{"properties":{"session_id":{"type":"string","title":"Session Id"},"anthropic_session_id":{"type":"string","title":"Anthropic Session Id"},"resumed":{"type":"boolean","title":"Resumed"}},"type":"object","required":["session_id","anthropic_session_id","resumed"],"title":"ChatSessionResponse"},"ContactCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"organization":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Organization"},"organization_logo_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Organization Logo Url"},"title":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Title"},"linkedin_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Linkedin Url"},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Location"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"emails":{"items":{"$ref":"#/components/schemas/ContactEmailSchema"},"type":"array","title":"Emails","default":[]}},"type":"object","required":["name"],"title":"ContactCreate"},"ContactEmailResponse":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"is_primary":{"type":"boolean","title":"Is Primary","default":false},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["email","id"],"title":"ContactEmailResponse"},"ContactEmailSchema":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"is_primary":{"type":"boolean","title":"Is Primary","default":false}},"type":"object","required":["email"],"title":"ContactEmailSchema"},"ContactResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"name":{"type":"string","title":"Name"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization"},"organization_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Logo Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"meeting_count":{"type":"integer","title":"Meeting Count"},"latest_meeting":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Latest Meeting"},"emails":{"items":{"$ref":"#/components/schemas/ContactEmailResponse"},"type":"array","title":"Emails","default":[]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","user_id","name","organization","organization_logo_url","title","linkedin_url","location","notes","meeting_count","latest_meeting","created_at","updated_at"],"title":"ContactResponse"},"ContactUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"organization":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Organization"},"organization_logo_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Organization Logo Url"},"title":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Title"},"linkedin_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Linkedin Url"},"location":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Location"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"emails":{"anyOf":[{"items":{"$ref":"#/components/schemas/ContactEmailSchema"},"type":"array"},{"type":"null"}],"title":"Emails"}},"type":"object","title":"ContactUpdate"},"CreateSessionRequest":{"properties":{"role":{"type":"string","title":"Role"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"}},"type":"object","required":["role"],"title":"CreateSessionRequest"},"DateOverrideCreate":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"is_available":{"type":"boolean","title":"Is Available","default":false},"ranges":{"items":{"$ref":"#/components/schemas/TimeRange"},"type":"array","title":"Ranges","default":[]},"label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Label"},"source":{"type":"string","title":"Source","default":"manual"}},"type":"object","required":["date"],"title":"DateOverrideCreate"},"DateOverrideResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"date":{"type":"string","format":"date","title":"Date"},"is_available":{"type":"boolean","title":"Is Available"},"ranges":{"items":{"$ref":"#/components/schemas/TimeRange"},"type":"array","title":"Ranges"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"source":{"type":"string","title":"Source","default":"manual"}},"type":"object","required":["id","date","is_available","ranges","label"],"title":"DateOverrideResponse"},"DayAvailability":{"properties":{"day_of_week":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Day Of Week"},"is_active":{"type":"boolean","title":"Is Active","default":false},"ranges":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Ranges","default":[]}},"type":"object","required":["day_of_week"],"title":"DayAvailability"},"DeactivateSessionResponse":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"DeactivateSessionResponse"},"DetailResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"DetailResponse"},"EmailSimulationRequest":{"properties":{"from_email":{"type":"string","format":"email","title":"From Email"},"from_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Name"},"to_emails":{"items":{"type":"string","format":"email"},"type":"array","title":"To Emails"},"cc_emails":{"items":{"type":"string","format":"email"},"type":"array","title":"Cc Emails"},"subject":{"type":"string","title":"Subject"},"body":{"type":"string","title":"Body"},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Id"},"dry_run":{"type":"boolean","title":"Dry Run","default":true},"mode":{"type":"string","enum":["real","mock"],"title":"Mode","default":"real"},"mock_events":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Mock Events"}},"type":"object","required":["from_email","to_emails","subject","body"],"title":"EmailSimulationRequest"},"EmailSimulationResponse":{"properties":{"thread_id":{"type":"string","title":"Thread Id"},"status":{"type":"string","title":"Status"},"agent_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Body"},"used_fallback":{"type":"boolean","title":"Used Fallback"},"fallback_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback Reason"},"silence_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Silence Reason"},"tool_calls":{"items":{"$ref":"#/components/schemas/ToolCallTrace"},"type":"array","title":"Tool Calls"},"resend_message_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resend Message Id"}},"type":"object","required":["thread_id","status","agent_body","used_fallback","fallback_reason","resend_message_id"],"title":"EmailSimulationResponse"},"EventTypeAvailabilityResponse":{"properties":{"use_custom_availability":{"type":"boolean","title":"Use Custom Availability"},"weekly_availability":{"items":{"$ref":"#/components/schemas/DayAvailability"},"type":"array","title":"Weekly Availability","default":[]}},"type":"object","required":["use_custom_availability"],"title":"EventTypeAvailabilityResponse"},"EventTypeCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"duration_minutes":{"type":"integer","maximum":480.0,"minimum":1.0,"title":"Duration Minutes","default":30},"location_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Location Ids","default":[]},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","title":"Color","default":"#6366f1"},"buffer_minutes":{"anyOf":[{"type":"integer","maximum":120.0,"minimum":0.0},{"type":"null"}],"title":"Buffer Minutes"},"notification_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Notification Settings"},"booking_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/BookingFieldDefinition"},"type":"array"},{"type":"null"}],"title":"Booking Fields"},"booking_window_days":{"anyOf":[{"type":"integer","maximum":90.0,"minimum":1.0},{"type":"null"}],"title":"Booking Window Days"},"minimum_notice_minutes":{"anyOf":[{"type":"integer","maximum":10080.0,"minimum":0.0},{"type":"null"}],"title":"Minimum Notice Minutes"},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"use_custom_availability":{"type":"boolean","title":"Use Custom Availability","default":false},"weekly_availability":{"anyOf":[{"items":{"$ref":"#/components/schemas/DayAvailability"},"type":"array"},{"type":"null"}],"title":"Weekly Availability"},"price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Price Cents"},"invitee_limit":{"anyOf":[{"type":"integer","maximum":500.0,"minimum":2.0},{"type":"null"}],"title":"Invitee Limit"},"show_remaining_spots":{"type":"boolean","title":"Show Remaining Spots","default":false},"is_public":{"type":"boolean","title":"Is Public","default":true},"destination_account_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Destination Account Calendar Id"},"reschedule_strategy":{"anyOf":[{"type":"string","enum":["reassign","keep_same"]},{"type":"null"}],"title":"Reschedule Strategy"},"host_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Host User Id"},"host_slots":{"anyOf":[{"items":{"$ref":"#/components/schemas/HostSlotInput"},"type":"array"},{"type":"null"}],"title":"Host Slots"},"hosts":{"anyOf":[{"items":{"$ref":"#/components/schemas/HostAssignment"},"type":"array"},{"type":"null"}],"title":"Hosts"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"scheduling_type":{"anyOf":[{"type":"string","enum":["individual","collective","round_robin"]},{"type":"null"}],"title":"Scheduling Type"},"kind":{"anyOf":[{"type":"string","enum":["individual","group","round_robin","collective"]},{"type":"null"}],"title":"Kind"}},"type":"object","required":["name"],"title":"EventTypeCreate"},"EventTypeResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"locations":{"items":{"$ref":"#/components/schemas/LocationResponse"},"type":"array","title":"Locations","default":[]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"type":"string","title":"Color"},"is_active":{"type":"boolean","title":"Is Active"},"buffer_minutes":{"type":"integer","title":"Buffer Minutes"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"notification_settings":{"additionalProperties":true,"type":"object","title":"Notification Settings","default":{}},"booking_fields":{"items":{"$ref":"#/components/schemas/BookingFieldDefinition"},"type":"array","title":"Booking Fields","default":[]},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"booking_window_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Booking Window Days"},"minimum_notice_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minimum Notice Minutes"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"invitee_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invitee Limit"},"show_remaining_spots":{"type":"boolean","title":"Show Remaining Spots","default":false},"is_public":{"type":"boolean","title":"Is Public","default":true},"destination_account_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Destination Account Calendar Id"},"reschedule_strategy":{"anyOf":[{"type":"string","enum":["reassign","keep_same"]},{"type":"null"}],"title":"Reschedule Strategy"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"host_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Name"},"host_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Avatar Url"},"host_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Slug"},"host_slots":{"items":{"$ref":"#/components/schemas/HostSlotResponse"},"type":"array","title":"Host Slots","default":[]},"hosts":{"items":{"$ref":"#/components/schemas/HostAssignment"},"type":"array","title":"Hosts"},"kind":{"type":"string","enum":["individual","group","round_robin","collective"],"title":"Kind","default":"individual"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"scheduling_type":{"type":"string","enum":["individual","collective","round_robin"],"title":"Scheduling Type","default":"individual"},"public_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Token"}},"type":"object","required":["id","name","slug","duration_minutes","description","color","is_active","buffer_minutes"],"title":"EventTypeResponse"},"EventTypeUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"duration_minutes":{"anyOf":[{"type":"integer","maximum":480.0,"minimum":1.0},{"type":"null"}],"title":"Duration Minutes"},"location_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Location Ids"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Color"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"buffer_minutes":{"anyOf":[{"type":"integer","maximum":120.0,"minimum":0.0},{"type":"null"}],"title":"Buffer Minutes"},"notification_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Notification Settings"},"booking_fields":{"anyOf":[{"items":{"$ref":"#/components/schemas/BookingFieldDefinition"},"type":"array"},{"type":"null"}],"title":"Booking Fields"},"booking_window_days":{"anyOf":[{"type":"integer","maximum":90.0,"minimum":1.0},{"type":"null"}],"title":"Booking Window Days"},"minimum_notice_minutes":{"anyOf":[{"type":"integer","maximum":10080.0,"minimum":0.0},{"type":"null"}],"title":"Minimum Notice Minutes"},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"use_custom_availability":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Custom Availability"},"weekly_availability":{"anyOf":[{"items":{"$ref":"#/components/schemas/DayAvailability"},"type":"array"},{"type":"null"}],"title":"Weekly Availability"},"price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Price Cents"},"invitee_limit":{"anyOf":[{"type":"integer","maximum":500.0,"minimum":2.0},{"type":"null"}],"title":"Invitee Limit"},"show_remaining_spots":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Remaining Spots"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"},"destination_account_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Destination Account Calendar Id"},"reschedule_strategy":{"anyOf":[{"type":"string","enum":["reassign","keep_same"]},{"type":"null"}],"title":"Reschedule Strategy"},"host_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Host User Id"},"host_slots":{"anyOf":[{"items":{"$ref":"#/components/schemas/HostSlotInput"},"type":"array"},{"type":"null"}],"title":"Host Slots"},"hosts":{"anyOf":[{"items":{"$ref":"#/components/schemas/HostAssignment"},"type":"array"},{"type":"null"}],"title":"Hosts"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"scheduling_type":{"anyOf":[{"type":"string","enum":["individual","collective","round_robin"]},{"type":"null"}],"title":"Scheduling Type"},"kind":{"anyOf":[{"type":"string","enum":["individual","group","round_robin","collective"]},{"type":"null"}],"title":"Kind"}},"type":"object","title":"EventTypeUpdate"},"GoogleConnectResponse":{"properties":{"auth_url":{"type":"string","title":"Auth Url"}},"type":"object","required":["auth_url"],"title":"GoogleConnectResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HolidayOptoutIn":{"properties":{"recurrence_key":{"type":"string","maxLength":64,"minLength":3,"title":"Recurrence Key"}},"type":"object","required":["recurrence_key"],"title":"HolidayOptoutIn"},"HolidayOut":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"name":{"type":"string","title":"Name"},"recurrence_key":{"type":"string","title":"Recurrence Key"},"region_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Code"},"type":{"type":"string","title":"Type"}},"type":"object","required":["date","name","recurrence_key","type"],"title":"HolidayOut"},"HolidayProfileIn":{"properties":{"country_code":{"type":"string","maxLength":2,"minLength":2,"title":"Country Code"},"region_code":{"anyOf":[{"type":"string","maxLength":8},{"type":"null"}],"title":"Region Code"}},"type":"object","required":["country_code"],"title":"HolidayProfileIn"},"HolidayProfileOut":{"properties":{"country_code":{"type":"string","title":"Country Code"},"region_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Code"},"optouts":{"items":{"type":"string"},"type":"array","title":"Optouts"}},"type":"object","required":["country_code","region_code"],"title":"HolidayProfileOut"},"HostAssignment":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"is_fixed":{"type":"boolean","title":"Is Fixed","default":false},"priority":{"type":"integer","title":"Priority","default":0},"weight":{"type":"integer","title":"Weight","default":1}},"type":"object","required":["user_id"],"title":"HostAssignment","description":"Legacy flat-host payload (AXIOM-168 Phase 1).\n\nAccepted on EventTypeCreate/Update for backwards compatibility — the\nrouter translates it into the slot/pool model: every is_fixed=true entry\nbecomes a fixed slot, and is_fixed=false entries collapse into a single\npool slot named \"Pool Rotativo\" with distribution='maximize'.\n\nAlso returned in the response (derived from host_slots) so existing\nclients continue to work."},"HostBookingResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"event_type_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Event Type Id"},"host_user_id":{"type":"string","format":"uuid","title":"Host User Id"},"guest_name":{"type":"string","title":"Guest Name"},"guest_email":{"type":"string","title":"Guest Email"},"guest_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guest Notes"},"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"},"status":{"type":"string","enum":["confirmed","pending","cancelled","rescheduled"],"title":"Status"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Location Id"},"cancel_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Reason"},"custom_responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Responses"},"meeting_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meeting Url"},"rescheduled_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rescheduled From"},"event_type_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type Name"},"event_type_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type Color"},"event_type_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type Slug"},"event_type_kind":{"type":"string","enum":["individual","group","one_off","round_robin","collective"],"title":"Event Type Kind","default":"individual"},"host_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Slug"},"hosts":{"items":{"$ref":"#/components/schemas/BookingHostInfo"},"type":"array","title":"Hosts","default":[]},"host_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Notes"},"additional_guests":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"Additional Guests"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","host_user_id","guest_name","guest_email","guest_notes","start_time","end_time","status","location","cancel_reason","created_at"],"title":"HostBookingResponse","description":"BookingResponse with host_user_id alias exposed for the authenticated host API."},"HostDashboardSummaryResponse":{"properties":{"today_count":{"type":"integer","title":"Today Count"},"week_count":{"type":"integer","title":"Week Count"},"upcoming":{"items":{"$ref":"#/components/schemas/HostBookingResponse"},"type":"array","title":"Upcoming"}},"type":"object","required":["today_count","week_count","upcoming"],"title":"HostDashboardSummaryResponse"},"HostSlotInput":{"properties":{"slot_kind":{"type":"string","enum":["fixed","pool"],"title":"Slot Kind"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"distribution":{"anyOf":[{"type":"string","enum":["maximize","equal"]},{"type":"null"}],"title":"Distribution"},"member_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Member Ids","default":[]}},"type":"object","required":["slot_kind"],"title":"HostSlotInput"},"HostSlotResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"position":{"type":"integer","title":"Position"},"slot_kind":{"type":"string","enum":["fixed","pool"],"title":"Slot Kind"},"user":{"anyOf":[{"$ref":"#/components/schemas/HostUserSummary"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"distribution":{"anyOf":[{"type":"string","enum":["maximize","equal"]},{"type":"null"}],"title":"Distribution"},"members":{"items":{"$ref":"#/components/schemas/HostUserSummary"},"type":"array","title":"Members","default":[]}},"type":"object","required":["id","position","slot_kind"],"title":"HostSlotResponse"},"HostUserSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","name","email"],"title":"HostUserSummary"},"InboundEmailResponse":{"properties":{"status":{"type":"string","title":"Status"},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Id"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["status"],"title":"InboundEmailResponse"},"IntegrationStatusResponse":{"properties":{"calendar_accounts":{"items":{"$ref":"#/components/schemas/CalendarAccountSchema"},"type":"array","title":"Calendar Accounts","default":[]},"zoom_account":{"anyOf":[{"$ref":"#/components/schemas/ZoomAccountSchema"},{"type":"null"}]}},"type":"object","title":"IntegrationStatusResponse","description":"Status of every integration the authenticated user has connected."},"InviteCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"InviteCreate"},"LocationCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"type":{"type":"string","enum":["physical","virtual"],"title":"Type"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"provider":{"anyOf":[{"type":"string","enum":["google_meet","microsoft_teams","zoom","phone"]},{"type":"null"}],"title":"Provider"},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"is_default":{"type":"boolean","title":"Is Default","default":false},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","required":["name","type"],"title":"LocationCreate"},"LocationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"is_default":{"type":"boolean","title":"Is Default"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","type","address","provider","schedule_id","is_default","latitude","longitude","user_id","created_at","updated_at"],"title":"LocationResponse"},"LocationUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"type":{"anyOf":[{"type":"string","enum":["physical","virtual"]},{"type":"null"}],"title":"Type"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"provider":{"anyOf":[{"type":"string","enum":["google_meet","microsoft_teams","zoom","phone"]},{"type":"null"}],"title":"Provider"},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"}},"type":"object","title":"LocationUpdate"},"MergeTag":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"example":{"type":"string","title":"Example"}},"type":"object","required":["name","description","example"],"title":"MergeTag"},"MergeTagsList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MergeTag"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"MergeTagsList"},"MergedCalendarEvent":{"properties":{"id":{"type":"string","title":"Id"},"summary":{"type":"string","title":"Summary"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"provider":{"type":"string","title":"Provider"}},"type":"object","required":["id","summary","start","end","all_day","provider"],"title":"MergedCalendarEvent","description":"Provider-agnostic event for the scheduled-page timeline.\n\nMerged across every connected calendar (Google, Outlook, …); ``provider``\ncarries the source."},"MergedCalendarEventsResponse":{"properties":{"events":{"items":{"$ref":"#/components/schemas/MergedCalendarEvent"},"type":"array","title":"Events"}},"type":"object","required":["events"],"title":"MergedCalendarEventsResponse"},"OnboardingDraftUpdate":{"properties":{"draft":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Draft"}},"type":"object","title":"OnboardingDraftUpdate","description":"In-progress onboarding state persisted server-side as a backup.\n\nSchema-less by design — the frontend owns the shape. Backend just stores\nwhatever JSON the client sends. Cleared when ``onboarding_completed=True``."},"OnboardingEmailDrainResponse":{"properties":{"processed":{"type":"integer","title":"Processed"},"sent":{"type":"integer","title":"Sent"},"failed":{"type":"integer","title":"Failed"},"skipped":{"type":"integer","title":"Skipped"}},"type":"object","required":["processed","sent","failed","skipped"],"title":"OnboardingEmailDrainResponse"},"OnboardingResetRequest":{"properties":{"wipe_calendar_tokens":{"type":"boolean","title":"Wipe Calendar Tokens","description":"If true, also delete google_calendar_tokens and google_calendar_events for the user (forcing a fresh OAuth on the next calendar step). Default false so reset doesn't force re-OAuth on every iteration.","default":false}},"type":"object","title":"OnboardingResetRequest"},"OnboardingResetResponse":{"properties":{"user_id":{"type":"string","title":"User Id"},"deleted_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Deleted Counts"}},"type":"object","required":["user_id","deleted_counts"],"title":"OnboardingResetResponse"},"OneOffBookingCreate":{"properties":{"slot_id":{"type":"string","format":"uuid","title":"Slot Id"},"guest_name":{"type":"string","maxLength":255,"minLength":1,"title":"Guest Name"},"guest_email":{"type":"string","maxLength":255,"minLength":3,"title":"Guest Email"},"guest_phone":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Guest Phone"},"guest_notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Guest Notes"},"custom_responses":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Responses"}},"type":"object","required":["slot_id","guest_name","guest_email"],"title":"OneOffBookingCreate"},"OneOffHostInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"timezone":{"type":"string","title":"Timezone"},"slug":{"type":"string","title":"Slug"}},"type":"object","required":["id","name","timezone","slug"],"title":"OneOffHostInfo"},"OneOffMeetingCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","default":"One-off meeting"},"duration_minutes":{"type":"integer","maximum":480.0,"minimum":1.0,"title":"Duration Minutes"},"location_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Location Id"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"reserve_times":{"type":"boolean","title":"Reserve Times","default":false},"invitee_language":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Invitee Language"},"slots":{"items":{"$ref":"#/components/schemas/OneOffSlotInput"},"type":"array","maxItems":100,"minItems":1,"title":"Slots"}},"type":"object","required":["duration_minutes","slots"],"title":"OneOffMeetingCreate"},"OneOffMeetingResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"token":{"type":"string","title":"Token"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationResponse"},{"type":"null"}]},"reserve_times":{"type":"boolean","title":"Reserve Times"},"invitee_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invitee Language"},"status":{"type":"string","enum":["created","booked","cancelled"],"title":"Status"},"booking_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Booking Id"},"slots":{"items":{"$ref":"#/components/schemas/OneOffSlotResponse"},"type":"array","title":"Slots","default":[]},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","token","name","slug","duration_minutes","reserve_times","status","created_at"],"title":"OneOffMeetingResponse"},"OneOffSlotInput":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"}},"type":"object","required":["start","end"],"title":"OneOffSlotInput"},"OneOffSlotResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"start_time":{"type":"string","format":"date-time","title":"Start Time"},"end_time":{"type":"string","format":"date-time","title":"End Time"}},"type":"object","required":["id","start_time","end_time"],"title":"OneOffSlotResponse"},"PageSettingsResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"theme":{"type":"string","title":"Theme"},"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color"},"meta_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Title"},"meta_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Description"},"og_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Og Image Url"},"whatsapp_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Number"},"whatsapp_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Message"},"whatsapp_style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Style"},"blocks":{"items":{"$ref":"#/components/schemas/Block"},"type":"array","title":"Blocks"},"is_published":{"type":"boolean","title":"Is Published"}},"type":"object","required":["id","user_id","theme","accent_color","meta_title","meta_description","og_image_url","whatsapp_number","whatsapp_message","whatsapp_style","blocks","is_published"],"title":"PageSettingsResponse"},"PageSettingsUpdate":{"properties":{"theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Theme"},"accent_color":{"anyOf":[{"type":"string","maxLength":7,"pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Accent Color"},"meta_title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Meta Title"},"meta_description":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Meta Description"},"og_image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Og Image Url"},"whatsapp_number":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Whatsapp Number"},"whatsapp_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Message"},"whatsapp_style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Style"},"blocks":{"anyOf":[{"items":{"$ref":"#/components/schemas/Block"},"type":"array"},{"type":"null"}],"title":"Blocks"},"is_published":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Published"}},"type":"object","title":"PageSettingsUpdate"},"PendingInviteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"team_id":{"type":"string","format":"uuid","title":"Team Id"},"team_name":{"type":"string","title":"Team Name"},"inviter_name":{"type":"string","title":"Inviter Name"},"invited_at":{"type":"string","format":"date-time","title":"Invited At"}},"type":"object","required":["id","team_id","team_name","inviter_name","invited_at"],"title":"PendingInviteResponse","description":"An invite addressed to the authenticated user. Token is intentionally\nomitted — accept/decline use the invite id instead, so the token stays a\nsecret known only to the original email recipient."},"PrefabTemplate":{"properties":{"key":{"type":"string","title":"Key"},"locale":{"type":"string","title":"Locale"},"subject":{"type":"string","title":"Subject"},"body":{"type":"string","title":"Body"},"suggested_trigger":{"type":"string","enum":["before_event","after_event","on_booked","on_rescheduled","on_cancelled"],"title":"Suggested Trigger"},"suggested_offset_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Suggested Offset Minutes"}},"type":"object","required":["key","locale","subject","body","suggested_trigger"],"title":"PrefabTemplate"},"PrefabsList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PrefabTemplate"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"PrefabsList"},"ProfileUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string","maxLength":60,"minLength":1,"pattern":"^[a-z0-9-]+$"},{"type":"null"}],"title":"Slug"},"bio":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Bio"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"avatar_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Avatar Url"},"onboarding_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Onboarding Completed"},"default_buffer_minutes":{"anyOf":[{"type":"integer","maximum":120.0,"minimum":0.0},{"type":"null"}],"title":"Default Buffer Minutes"},"max_daily_booking_minutes":{"anyOf":[{"type":"integer","maximum":1440.0,"minimum":0.0},{"type":"null"}],"title":"Max Daily Booking Minutes"},"preferred_calendar_view":{"anyOf":[{"type":"string","pattern":"^(list|day|week|month)$"},{"type":"null"}],"title":"Preferred Calendar View"},"searchable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Searchable"},"default_destination_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Default Destination Calendar Id"},"profession_id":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Profession Id"},"profession_label":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Profession Label"},"wants_email_assistant":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Wants Email Assistant"},"booking_locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booking Locale"}},"type":"object","title":"ProfileUpdate"},"PublicEventTypeResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"locations":{"items":{"$ref":"#/components/schemas/LocationResponse"},"type":"array","title":"Locations","default":[]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"color":{"type":"string","title":"Color"},"is_active":{"type":"boolean","title":"Is Active"},"buffer_minutes":{"type":"integer","title":"Buffer Minutes"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"notification_settings":{"additionalProperties":true,"type":"object","title":"Notification Settings","default":{}},"booking_fields":{"items":{"$ref":"#/components/schemas/BookingFieldDefinition"},"type":"array","title":"Booking Fields","default":[]},"schedule_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Schedule Id"},"booking_window_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Booking Window Days"},"minimum_notice_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minimum Notice Minutes"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"invitee_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invitee Limit"},"show_remaining_spots":{"type":"boolean","title":"Show Remaining Spots","default":false},"is_public":{"type":"boolean","title":"Is Public","default":true},"destination_account_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Destination Account Calendar Id"},"reschedule_strategy":{"anyOf":[{"type":"string","enum":["reassign","keep_same"]},{"type":"null"}],"title":"Reschedule Strategy"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"host_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Name"},"host_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Avatar Url"},"host_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host Slug"},"host_slots":{"items":{"$ref":"#/components/schemas/HostSlotResponse"},"type":"array","title":"Host Slots","default":[]},"hosts":{"items":{"$ref":"#/components/schemas/HostAssignment"},"type":"array","title":"Hosts"},"kind":{"type":"string","enum":["individual","group","round_robin","collective"],"title":"Kind","default":"individual"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"scheduling_type":{"type":"string","enum":["individual","collective","round_robin"],"title":"Scheduling Type","default":"individual"},"public_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Token"}},"type":"object","required":["id","name","slug","duration_minutes","description","color","is_active","buffer_minutes"],"title":"PublicEventTypeResponse"},"PublicEventTypeWithHosts":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"color":{"type":"string","title":"Color"},"scheduling_type":{"type":"string","title":"Scheduling Type"},"hosts":{"items":{"$ref":"#/components/schemas/PublicTeamHostSummary"},"type":"array","title":"Hosts","default":[]}},"type":"object","required":["id","slug","name","duration_minutes","color","scheduling_type"],"title":"PublicEventTypeWithHosts"},"PublicOneOffMeetingResponse":{"properties":{"token":{"type":"string","title":"Token"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"location":{"anyOf":[{"$ref":"#/components/schemas/LocationResponse"},{"type":"null"}]},"status":{"type":"string","enum":["created","booked","cancelled"],"title":"Status"},"host":{"$ref":"#/components/schemas/OneOffHostInfo"},"slots":{"items":{"$ref":"#/components/schemas/OneOffSlotResponse"},"type":"array","title":"Slots","default":[]}},"type":"object","required":["token","name","slug","duration_minutes","status","host"],"title":"PublicOneOffMeetingResponse","description":"Slim response for public /d/{token}: host info + offered slots."},"PublicPageResponse":{"properties":{"theme":{"type":"string","title":"Theme"},"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color"},"meta_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Title"},"meta_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Description"},"og_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Og Image Url"},"whatsapp_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Number"},"whatsapp_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Message"},"whatsapp_style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Whatsapp Style"},"blocks":{"items":{"$ref":"#/components/schemas/Block"},"type":"array","title":"Blocks"}},"type":"object","required":["theme","accent_color","meta_title","meta_description","og_image_url","whatsapp_number","whatsapp_message","whatsapp_style","blocks"],"title":"PublicPageResponse"},"PublicProfileLookupResponse":{"properties":{"kind":{"type":"string","enum":["user","team"],"title":"Kind"},"user":{"anyOf":[{"$ref":"#/components/schemas/PublicUserProfileResponse"},{"type":"null"}]},"team":{"anyOf":[{"$ref":"#/components/schemas/PublicTeamResponse"},{"type":"null"}]}},"type":"object","required":["kind"],"title":"PublicProfileLookupResponse"},"PublicTeamEventTypePreview":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","slug","name","duration_minutes","color"],"title":"PublicTeamEventTypePreview"},"PublicTeamHostSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"slot_kind":{"type":"string","enum":["fixed","pool"],"title":"Slot Kind","default":"fixed"},"pool_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pool Name"}},"type":"object","required":["id","name"],"title":"PublicTeamHostSummary"},"PublicTeamResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"event_types":{"items":{"$ref":"#/components/schemas/PublicTeamEventTypePreview"},"type":"array","title":"Event Types"}},"type":"object","required":["id","slug","name","event_types"],"title":"PublicTeamResponse"},"PublicUserProfileResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"slug":{"type":"string","title":"Slug"},"timezone":{"type":"string","title":"Timezone"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"onboarding_completed":{"type":"boolean","title":"Onboarding Completed"},"default_buffer_minutes":{"type":"integer","title":"Default Buffer Minutes"},"max_daily_booking_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Daily Booking Minutes"},"preferred_calendar_view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Calendar View"},"booking_locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booking Locale"},"searchable":{"type":"boolean","title":"Searchable","default":false},"setup_steps_done":{"items":{"type":"string"},"type":"array","title":"Setup Steps Done","default":[]},"default_destination_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Default Destination Calendar Id"},"profession_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession Id"},"profession_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession Label"},"onboarding_draft":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Onboarding Draft"},"wants_email_assistant":{"type":"boolean","title":"Wants Email Assistant","default":false},"theme":{"type":"string","title":"Theme","default":"calendinho-default"},"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color"}},"type":"object","required":["id","name","email","slug","timezone","avatar_url","onboarding_completed","default_buffer_minutes"],"title":"PublicUserProfileResponse","description":"User-shaped public profile (the legacy /profile/{slug} response).\n\nUsed both by the legacy `/api/public/profile/{slug}` endpoint (kept\nfor backwards compatibility with non-frontend callers) and as the\n`user` branch of the new unified `/api/public/profiles/{slug}`."},"ScheduleCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"timezone":{"type":"string","title":"Timezone","default":"America/Sao_Paulo"},"is_weekdays_grouped":{"type":"boolean","title":"Is Weekdays Grouped","default":true}},"type":"object","required":["name"],"title":"ScheduleCreate"},"ScheduleDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"timezone":{"type":"string","title":"Timezone"},"is_default":{"type":"boolean","title":"Is Default"},"is_weekdays_grouped":{"type":"boolean","title":"Is Weekdays Grouped"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"event_type_count":{"type":"integer","title":"Event Type Count","default":0},"weekly_schedules":{"items":{"$ref":"#/components/schemas/WeeklyScheduleResponse"},"type":"array","title":"Weekly Schedules","default":[]},"date_overrides":{"items":{"$ref":"#/components/schemas/DateOverrideResponse"},"type":"array","title":"Date Overrides","default":[]}},"type":"object","required":["id","name","timezone","is_default","is_weekdays_grouped","created_at","updated_at"],"title":"ScheduleDetailResponse"},"ScheduleEventTypeLocation":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"}},"type":"object","required":["name","type"],"title":"ScheduleEventTypeLocation"},"ScheduleEventTypeResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"},"duration_minutes":{"type":"integer","title":"Duration Minutes"},"locations":{"items":{"$ref":"#/components/schemas/ScheduleEventTypeLocation"},"type":"array","title":"Locations","default":[]}},"type":"object","required":["id","name","color","duration_minutes"],"title":"ScheduleEventTypeResponse"},"ScheduleResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"timezone":{"type":"string","title":"Timezone"},"is_default":{"type":"boolean","title":"Is Default"},"is_weekdays_grouped":{"type":"boolean","title":"Is Weekdays Grouped"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"event_type_count":{"type":"integer","title":"Event Type Count","default":0}},"type":"object","required":["id","name","timezone","is_default","is_weekdays_grouped","created_at","updated_at"],"title":"ScheduleResponse"},"ScheduleUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"is_weekdays_grouped":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Weekdays Grouped"}},"type":"object","title":"ScheduleUpdate"},"ScheduledReminderRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"booking_id":{"type":"string","format":"uuid","title":"Booking Id"},"trigger":{"type":"string","title":"Trigger"},"send_at":{"type":"string","format":"date-time","title":"Send At"},"recipient_type":{"type":"string","title":"Recipient Type"},"recipient_email":{"type":"string","title":"Recipient Email"},"status":{"type":"string","title":"Status"},"sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Sent At"}},"type":"object","required":["id","booking_id","trigger","send_at","recipient_type","recipient_email","status","sent_at"],"title":"ScheduledReminderRead"},"ScheduledRemindersDrainResponse":{"properties":{"processed":{"type":"integer","title":"Processed"},"sent":{"type":"integer","title":"Sent"},"failed":{"type":"integer","title":"Failed"},"cancelled":{"type":"integer","title":"Cancelled","default":0},"skipped":{"type":"integer","title":"Skipped","default":0}},"type":"object","required":["processed","sent","failed"],"title":"ScheduledRemindersDrainResponse"},"ScheduledRemindersList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ScheduledReminderRead"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"ScheduledRemindersList"},"SeedMember":{"properties":{"email":{"type":"string","title":"Email"},"role":{"type":"string","enum":["owner","admin","member"],"title":"Role"}},"type":"object","required":["email","role"],"title":"SeedMember"},"SeedTeamRequest":{"properties":{"name":{"type":"string","title":"Name"},"members":{"items":{"$ref":"#/components/schemas/SeedMember"},"type":"array","title":"Members"}},"type":"object","required":["name","members"],"title":"SeedTeamRequest"},"SeedTeamResponse":{"properties":{"team_id":{"type":"string","format":"uuid","title":"Team Id"},"team_slug":{"type":"string","title":"Team Slug"},"members":{"items":{"$ref":"#/components/schemas/SeededMember"},"type":"array","title":"Members"}},"type":"object","required":["team_id","team_slug","members"],"title":"SeedTeamResponse"},"SeededMember":{"properties":{"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"token":{"type":"string","title":"Token"}},"type":"object","required":["email","role","user_id","token"],"title":"SeededMember"},"SendMessageRequest":{"properties":{"message":{"type":"string","title":"Message"},"silent":{"type":"boolean","title":"Silent","default":false}},"type":"object","required":["message"],"title":"SendMessageRequest"},"SendMessageStatusResponse":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"SendMessageStatusResponse"},"SitemapProfileEntry":{"properties":{"slug":{"type":"string","title":"Slug"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"event_type_slugs":{"items":{"type":"string"},"type":"array","title":"Event Type Slugs"}},"type":"object","required":["slug","updated_at","event_type_slugs"],"title":"SitemapProfileEntry"},"SlugCheckResponse":{"properties":{"available":{"type":"boolean","title":"Available"},"slug":{"type":"string","title":"Slug"},"suggestions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Suggestions"}},"type":"object","required":["available","slug"],"title":"SlugCheckResponse"},"SyncCalendarResponse":{"properties":{"imported":{"type":"integer","title":"Imported"},"updated":{"type":"integer","title":"Updated"}},"type":"object","required":["imported","updated"],"title":"SyncCalendarResponse"},"TeamCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"slug":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[a-z0-9][a-z0-9-]*$","title":"Slug"}},"type":"object","required":["name","slug"],"title":"TeamCreate"},"TeamInviteCreatedResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"status":{"type":"string","enum":["pending","accepted","cancelled"],"title":"Status"},"invited_at":{"type":"string","format":"date-time","title":"Invited At"},"token":{"type":"string","title":"Token"}},"type":"object","required":["id","email","status","invited_at","token"],"title":"TeamInviteCreatedResponse","description":"Returned by POST /team/{id}/invite. Includes the raw token so the inviter\ncan copy/resend it. Never embedded in TeamResponse — keeps tokens out of GET /team."},"TeamInvitePreviewResponse":{"properties":{"team_name":{"type":"string","title":"Team Name"},"inviter_name":{"type":"string","title":"Inviter Name"},"invited_email":{"type":"string","title":"Invited Email"}},"type":"object","required":["team_name","inviter_name","invited_email"],"title":"TeamInvitePreviewResponse","description":"Public preview of a pending invite. Returned by GET /team/invites/preview/{token}\nso an unauthenticated visitor on /invite/[token] can see who invited them and to\nwhich team without needing a Clerk session. Deliberately omits ids and the token."},"TeamInviteResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"status":{"type":"string","enum":["pending","accepted","cancelled"],"title":"Status"},"invited_at":{"type":"string","format":"date-time","title":"Invited At"}},"type":"object","required":["id","email","status","invited_at"],"title":"TeamInviteResponse"},"TeamMemberResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","enum":["owner","admin","member"],"title":"Role"},"joined_at":{"type":"string","format":"date-time","title":"Joined At"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","user_id","role","joined_at","name","email","avatar_url"],"title":"TeamMemberResponse"},"TeamMemberRoleUpdate":{"properties":{"role":{"type":"string","enum":["admin","member"],"title":"Role"}},"type":"object","required":["role"],"title":"TeamMemberRoleUpdate"},"TeamResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"current_user_role":{"type":"string","enum":["owner","admin","member"],"title":"Current User Role"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"members":{"items":{"$ref":"#/components/schemas/TeamMemberResponse"},"type":"array","title":"Members","default":[]},"invites":{"items":{"$ref":"#/components/schemas/TeamInviteResponse"},"type":"array","title":"Invites","default":[]}},"type":"object","required":["id","slug","name","current_user_role","created_at"],"title":"TeamResponse"},"TeamUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string","maxLength":100,"minLength":1,"pattern":"^[a-z0-9][a-z0-9-]*$"},{"type":"null"}],"title":"Slug"}},"type":"object","title":"TeamUpdate"},"TestSendResponse":{"properties":{"sent":{"type":"boolean","title":"Sent"},"recipient":{"type":"string","title":"Recipient"}},"type":"object","required":["sent","recipient"],"title":"TestSendResponse"},"TimeRange":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"location_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Location Ids","default":[]},"is_preferred":{"type":"boolean","title":"Is Preferred","default":false}},"type":"object","required":["start","end"],"title":"TimeRange"},"TimeSlot":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"location_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Location Ids","default":[]},"preferred":{"type":"boolean","title":"Preferred","default":false},"remaining_spots":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Remaining Spots"}},"type":"object","required":["start","end"],"title":"TimeSlot"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"user":{"$ref":"#/components/schemas/UserResponse"}},"type":"object","required":["access_token","user"],"title":"TokenResponse"},"ToolCallTrace":{"properties":{"name":{"type":"string","title":"Name"},"input":{"additionalProperties":true,"type":"object","title":"Input"},"result":{"anyOf":[{},{"type":"null"}],"title":"Result"}},"type":"object","required":["name","input"],"title":"ToolCallTrace"},"UpdateMetadataRequest":{"properties":{"selected":{"type":"string","title":"Selected"}},"type":"object","required":["selected"],"title":"UpdateMetadataRequest"},"UpdateMetadataResponse":{"properties":{"id":{"type":"string","title":"Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id"],"title":"UpdateMetadataResponse"},"UserCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"}},"type":"object","required":["name","email","password"],"title":"UserCreate"},"UserLogin":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"UserLogin"},"UserResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"slug":{"type":"string","title":"Slug"},"timezone":{"type":"string","title":"Timezone"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"onboarding_completed":{"type":"boolean","title":"Onboarding Completed"},"default_buffer_minutes":{"type":"integer","title":"Default Buffer Minutes"},"max_daily_booking_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Daily Booking Minutes"},"preferred_calendar_view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Calendar View"},"booking_locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booking Locale"},"searchable":{"type":"boolean","title":"Searchable","default":false},"setup_steps_done":{"items":{"type":"string"},"type":"array","title":"Setup Steps Done","default":[]},"default_destination_calendar_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Default Destination Calendar Id"},"profession_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession Id"},"profession_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profession Label"},"onboarding_draft":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Onboarding Draft"},"wants_email_assistant":{"type":"boolean","title":"Wants Email Assistant","default":false}},"type":"object","required":["id","name","email","slug","timezone","avatar_url","onboarding_completed","default_buffer_minutes"],"title":"UserResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WeeklyScheduleResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"day_of_week":{"type":"integer","title":"Day Of Week"},"is_active":{"type":"boolean","title":"Is Active"},"ranges":{"items":{"$ref":"#/components/schemas/TimeRange"},"type":"array","title":"Ranges"}},"type":"object","required":["id","day_of_week","is_active","ranges"],"title":"WeeklyScheduleResponse"},"WeeklyScheduleUpsert":{"properties":{"day_of_week":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Day Of Week"},"is_active":{"type":"boolean","title":"Is Active","default":true},"ranges":{"items":{"$ref":"#/components/schemas/TimeRange"},"type":"array","title":"Ranges","default":[]}},"type":"object","required":["day_of_week"],"title":"WeeklyScheduleUpsert"},"WorkflowCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name"],"title":"WorkflowCreate"},"WorkflowEventTypesUpdate":{"properties":{"event_type_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Event Type Ids"}},"type":"object","required":["event_type_ids"],"title":"WorkflowEventTypesUpdate"},"WorkflowList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WorkflowRead"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"WorkflowList"},"WorkflowRead":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"is_active":{"type":"boolean","title":"Is Active","default":true},"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"steps":{"items":{"$ref":"#/components/schemas/WorkflowStepRead"},"type":"array","title":"Steps","default":[]},"event_type_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Event Type Ids","default":[]}},"type":"object","required":["name","id","user_id","created_at","updated_at"],"title":"WorkflowRead"},"WorkflowStepCreate":{"properties":{"sort_order":{"type":"integer","title":"Sort Order","default":0},"trigger":{"type":"string","enum":["before_event","after_event","on_booked","on_rescheduled","on_cancelled"],"title":"Trigger"},"offset_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset Minutes"},"recipients":{"items":{"type":"string","enum":["guest","host","additional_guests","custom_email"]},"type":"array","minItems":1,"title":"Recipients"},"custom_email_addresses":{"anyOf":[{"items":{"type":"string","format":"email"},"type":"array"},{"type":"null"}],"title":"Custom Email Addresses"},"subject_template":{"type":"string","title":"Subject Template"},"body_template":{"type":"string","title":"Body Template"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["trigger","recipients","subject_template","body_template"],"title":"WorkflowStepCreate"},"WorkflowStepRead":{"properties":{"sort_order":{"type":"integer","title":"Sort Order","default":0},"trigger":{"type":"string","enum":["before_event","after_event","on_booked","on_rescheduled","on_cancelled"],"title":"Trigger"},"offset_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset Minutes"},"recipients":{"items":{"type":"string","enum":["guest","host","additional_guests","custom_email"]},"type":"array","minItems":1,"title":"Recipients"},"custom_email_addresses":{"anyOf":[{"items":{"type":"string","format":"email"},"type":"array"},{"type":"null"}],"title":"Custom Email Addresses"},"subject_template":{"type":"string","title":"Subject Template"},"body_template":{"type":"string","title":"Body Template"},"is_active":{"type":"boolean","title":"Is Active","default":true},"id":{"type":"string","format":"uuid","title":"Id"},"workflow_id":{"type":"string","format":"uuid","title":"Workflow Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["trigger","recipients","subject_template","body_template","id","workflow_id","created_at","updated_at"],"title":"WorkflowStepRead"},"WorkflowStepUpdate":{"properties":{"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"},"trigger":{"anyOf":[{"type":"string","enum":["before_event","after_event","on_booked","on_rescheduled","on_cancelled"]},{"type":"null"}],"title":"Trigger"},"offset_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset Minutes"},"recipients":{"anyOf":[{"items":{"type":"string","enum":["guest","host","additional_guests","custom_email"]},"type":"array"},{"type":"null"}],"title":"Recipients"},"custom_email_addresses":{"anyOf":[{"items":{"type":"string","format":"email"},"type":"array"},{"type":"null"}],"title":"Custom Email Addresses"},"subject_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Template"},"body_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body Template"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"WorkflowStepUpdate"},"WorkflowUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Name"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"WorkflowUpdate"},"ZoomAccountSchema":{"properties":{"id":{"type":"string","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","status"],"title":"ZoomAccountSchema"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://api.calendinho.com","description":"Production"}],"externalDocs":{"description":"Calendinho developer documentation and API lifecycle policy","url":"https://calendinho.com/developers"}}