Calendars
Calendars API
Documentación de la API de Calendars
Servidor base: https://services.leadconnectorhq.com
Endpoints
- GET /calendars/groups — Obtener Groups
- POST /calendars/groups — Crear Calendar Group
- POST /calendars/groups/validate-slug — Validar group slug
- DELETE /calendars/groups/{groupId} — Eliminar Group
- PUT /calendars/groups/{groupId} — Actualizar Group
- PUT /calendars/groups/{groupId}/status — Deshabilitar Group
- GET /calendars/services/bookings — Obtener Service Bookings
- POST /calendars/services/bookings — Crear Service Booking
- GET /calendars/services/bookings/{bookingId} — Obtener Service Booking by Id
- PUT /calendars/services/bookings/{bookingId} — Actualizar Service Booking
- DELETE /calendars/services/bookings/{bookingId} — Eliminar Service Booking
- GET /calendars/services/catalog — Obtener Services
- POST /calendars/services/catalog — Crear Service
- GET /calendars/services/catalog/{serviceId} — Obtener Service by Id
- PUT /calendars/services/catalog/{serviceId} — Actualizar Service
- DELETE /calendars/services/catalog/{serviceId} — Eliminar Service
- GET /calendars/services/locations — Obtener Service Locations
- POST /calendars/services/locations — Crear Service Location
- GET /calendars/services/locations/{serviceLocationId} — Obtener Service Location by Id
- PUT /calendars/services/locations/{serviceLocationId} — Actualizar Service Location
- DELETE /calendars/services/locations/{serviceLocationId} — Eliminar Service Location
- POST /calendars/events/appointments — Crear cita
- PUT /calendars/events/appointments/{eventId} — Actualizar cita
- GET /calendars/events/appointments/{eventId} — Obtener cita
- GET /calendars/events — Obtener Calendar Events
- GET /calendars/blocked-slots — Obtener Blocked Slots
- POST /calendars/events/block-slots — Crear Block Slot
- PUT /calendars/events/block-slots/{eventId} — Actualizar Block Slot
- GET /calendars/{calendarId}/free-slots — Obtener Free Slots
- PUT /calendars/{calendarId} — Actualizar calendario
- GET /calendars/{calendarId} — Obtener calendario
- DELETE /calendars/{calendarId} — Eliminar calendario
- DELETE /calendars/events/{eventId} — Eliminar evento
- GET /calendars/appointments/{appointmentId}/notes — Obtener notas
- POST /calendars/appointments/{appointmentId}/notes — Crear nota
- PUT /calendars/appointments/{appointmentId}/notes/{noteId} — Actualizar nota
- DELETE /calendars/appointments/{appointmentId}/notes/{noteId} — Eliminar nota
- GET /calendars/resources/{resourceType}/{id} — Obtener Calendar Resource
- PUT /calendars/resources/{resourceType}/{id} — Actualizar Calendar Resource
- DELETE /calendars/resources/{resourceType}/{id} — Eliminar Calendar Resource
- GET /calendars/resources/{resourceType} — Listar Calendar Resources
- POST /calendars/resources/{resourceType} — Crear Calendar Resource
- GET /calendars/{calendarId}/notifications — Obtener notifications
- POST /calendars/{calendarId}/notifications — Crear notification
- GET /calendars/{calendarId}/notifications/{notificationId} — Obtener notification
- PUT /calendars/{calendarId}/notifications/{notificationId} — Actualizar notification
- DELETE /calendars/{calendarId}/notifications/{notificationId} — Eliminar Notification
- GET /calendars/schedules/search — Listar user availability schedule
- GET /calendars/schedules/{id} — Obtener user availability schedule
- PUT /calendars/schedules/{id} — Actualizar user availability schedule
- DELETE /calendars/schedules/{id} — Eliminar user availability schedule
- POST /calendars/schedules — Crear user availability schedule
- PUT /calendars/schedules/{id}/associations/{calendarId} — Apply user availability schedule to a calendar
- DELETE /calendars/schedules/{id}/associations/{calendarId} — Quitar user availability schedule from a calendar
- POST /calendars/schedules/event-calendar/{calendarId} — Crear event calendar availability schedule
- GET /calendars/schedules/event-calendar/{calendarId} — Obtener event calendar availability schedule
- PUT /calendars/schedules/event-calendar/{calendarId} — Actualizar event calendar availability schedule
- GET /calendars/ — Obtener calendarios
- POST /calendars/ — Crear calendario
GET /calendars/groups
Obtener Groups Get all calendar groups in a location.
Scopes requeridos: calendars/groups.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/groups
Crear Calendar Group Scopes requeridos: calendars/groups.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- locationId (requerido) — string
- name (requerido) — string
- description (requerido) — string
- slug (requerido) — string
- isActive — boolean
Respuestas:
- 201 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/groups/validate-slug
Validar group slug Validate if group slug is available or not.
Scopes requeridos: calendars/groups.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- locationId (requerido) — string — Location Id
- slug (requerido) — string — Slug
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
DELETE /calendars/groups/{groupId}
Eliminar Group Scopes requeridos: calendars/groups.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- groupId (path, string) (requerido) — Id de Group
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/groups/{groupId}
Actualizar Group Update Group by group Id
Scopes requeridos: calendars/groups.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- groupId (path, string) (requerido) — Id de Group
Cuerpo de la peticion (application/json):
- name (requerido) — string
- description (requerido) — string
- slug (requerido) — string
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/groups/{groupId}/status
Deshabilitar Group Scopes requeridos: calendars/groups.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- groupId (path, string) (requerido) — Id de Group
Cuerpo de la peticion (application/json):
- isActive (requerido) — boolean — Is Active?
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/services/bookings
Obtener Service Bookings Retrieve service bookings for a location within a given date range, with an optional service location filter.
Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
- startTime (query, string) (requerido) — Start Time (timestamp in milliseconds as string)
- endTime (query, string) (requerido) — End Time (timestamp in milliseconds as string)
- timezone (query, string) — Timezone
- serviceLocationId (query, string) — Id de Service Location
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — Usuario no autenticado
POST /calendars/services/bookings
Crear Service Booking Create a new service booking
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- overrideAvailability (query, boolean) — If true the time slot validation would be avoided for any booking creation/update (even the skipSchedulingNotice)
- skipSchedulingNotice (query, boolean) — If set to true, the minimum scheduling notice and date range would be ignored
Cuerpo de la peticion (application/json):
- locationId (requerido) — string — Location Id
- contactId (requerido) — string — Contact Id
- startTime (requerido) — string — Start Time
- endTime (requerido) — string — End Time
- timezone (requerido) — string — Timezone
- services (requerido) — array — Services
- id (requerido) — string — Service Id
- staffId — string — Staff Id
- position — number — Position
- addOns — array — Add-ons
- id (requerido) — string — Add-on Id
- quantity — number — Add-on quantity
- duration — number — Add-on duration (in minutes)
- serviceLocationId — string — Service Location Id (If not provided, then the default service location will be used)
- meetingLocation — string — Meeting Location (If service location is an ask the booker, then the meeting location is required)
- title — string — Service Booking Title
- status — string — Status. (If not provided, the status configured in Service Global Settings will be used.)
Respuestas:
- 201 — Booking created successfully
- 400 — Peticion invalida
- 401 — Usuario no autenticado
GET /calendars/services/bookings/{bookingId}
Obtener Service Booking by Id Get a specific service booking by Id
Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- bookingId (path, string) (requerido) — Id de Unique Service Booking
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — Usuario no autenticado
PUT /calendars/services/bookings/{bookingId}
Actualizar Service Booking Update an existing service booking
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- bookingId (path, string) (requerido) — Id de Unique Service Booking
- overrideAvailability (query, boolean) — If true the time slot validation would be avoided for any booking creation/update (even the skipSchedulingNotice)
- skipSchedulingNotice (query, boolean) — If set to true, the minimum scheduling notice and date range would be ignored
Cuerpo de la peticion (application/json):
- serviceLocationId — string — Service Location Id
- meetingLocation — string — Meeting Location (If service location is an ask the booker, then the meeting location is required)
- title — string — Title
- status — string — Status
- startTime — string — Start Time
- endTime — string — End Time
- timezone — string — Timezone
- services — array — If provided, services sent in the request will replace the existing services in the booking.
- id (requerido) — string — Service Id
- staffId — string — Staff Id
- position — number — Position
- addOns — array — Add-ons
- id (requerido) — string — Add-on Id
- quantity — number — Add-on quantity
- duration — number — Add-on duration (in minutes)
Respuestas:
- 200 — Booking updated successfully
- 400 — Peticion invalida
- 401 — Usuario no autenticado
DELETE /calendars/services/bookings/{bookingId}
Eliminar Service Booking Delete a service booking by Id
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- bookingId (path, string) (requerido) — Id de Unique Service Booking
Respuestas:
- 200 — Booking deleted successfully
- 400 — Peticion invalida
- 401 — Usuario no autenticado
GET /calendars/services/catalog
Obtener Services Get all services in a location.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
- serviceCategoryId (query, string) — Id de Filter by service category
- isPrivate (query, boolean) — Filter services: true = private only, false = public only, unset = all services
Respuestas:
- 200 — Respuesta exitosa
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
POST /calendars/services/catalog
Crear Service Create new service in a location.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- locationId (requerido) — string — Location Id
- name (requerido) — string — Service name
- slug (requerido) — string — Unique URL-friendly identifier
- staff (requerido) — array — Assigned staff members (at least one required)
- id (requerido) — string — Staff Id
- description — string — Service description
- eventColor — string — Service event color (hex)
- coverImage — string — Service cover image URL
- serviceCategoryId — string — Service category Id (uses default category if not provided)
- payment — — Payment details (default amount is 0, currency configured in Service Global Settings is used.)
- serviceDuration — number — This controls the duration of the appointment
- serviceDurationUnit — string — Duration unit
- preBuffer — number — Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
- preBufferUnit — string — Pre-buffer unit
- postBuffer — number — Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
- postBufferUnit — string — Post-buffer unit
- isPrivate — boolean — Whether service is private (not shown publicly)
- formId — string — Custom form Id (will be used to display the custom form on the booking page, if only one service is selected)
- variations — array — Service variations (pass empty array for no variations)
- serviceDuration — number — This controls the duration of the appointment
- serviceDurationUnit — string — Duration unit
- preBuffer — number — Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
- preBufferUnit — string — Pre-buffer unit
- postBuffer — number — Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
- postBufferUnit — string — Post-buffer unit
- payment — — Payment details
- name (requerido) — string — Variation name
Respuestas:
- 201 — Service created successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
GET /calendars/services/catalog/{serviceId}
Obtener Service by Id Get service by Id.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- serviceId (path, string) (requerido) — Id de Service
Respuestas:
- 200 — Respuesta exitosa
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
PUT /calendars/services/catalog/{serviceId}
Actualizar Service Update service by Id.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- serviceId (path, string) (requerido) — Id de Service
Cuerpo de la peticion (application/json):
- name — string — Service name
- description — string — Service description
- slug — string — Unique URL-friendly identifier
- eventColor — string — Service event color (hex)
- coverImage — string — Service cover image URL
- serviceCategoryId — string — Service category Id
- payment — — Payment details (currency configured in Service Global Settings is used.)
- serviceDuration — number — This controls the duration of the appointment
- serviceDurationUnit — string — Duration unit
- preBuffer — number — Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
- preBufferUnit — string — Pre-buffer unit
- postBuffer — number — Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
- postBufferUnit — string — Post-buffer unit
- isPrivate — boolean — Whether service is private (not shown publicly)
- formId — string — Custom form Id (will be used to display the custom form on the booking page, if only one service is selected)
- staff — array — Assigned staff members
- id (requerido) — string — Staff Id
- variations — array — Service variations (an empty array removes all variations). Include an id to update an existing variation; omit the id to create a new one.
- serviceDuration — number — This controls the duration of the appointment
- serviceDurationUnit — string — Duration unit
- preBuffer — number — Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
- preBufferUnit — string — Pre-buffer unit
- postBuffer — number — Post-buffer: Additional time that can be added after an appointment, allowing for extra time to wrap up
- postBufferUnit — string — Post-buffer unit
- payment — — Payment details
- id — string — Variation Id
- name — string — Variation name
Respuestas:
- 200 — Service updated successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
DELETE /calendars/services/catalog/{serviceId}
Eliminar Service Delete service by Id.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- serviceId (path, string) (requerido) — Id de Service
Respuestas:
- 200 — Service deleted successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
GET /calendars/services/locations
Obtener Service Locations Get all service locations
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — Usuario no autenticado
POST /calendars/services/locations
Crear Service Location Create a new service location
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- locationId (requerido) — string — Location Id
- name (requerido) — string — Location name
- slug (requerido) — string — URL-friendly slug identifier
- phone — string — Phone number
- address — string — Use a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.
- coverImage — string — URL of the cover image for this service location
- locationType — string — Location type
Respuestas:
- 201 — Service location created successfully
- 400 — Peticion invalida
- 401 — Usuario no autenticado
GET /calendars/services/locations/{serviceLocationId}
Obtener Service Location by Id Get service location by Id
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- serviceLocationId (path, string) (requerido) — Id de Unique Service Location
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — Usuario no autenticado
PUT /calendars/services/locations/{serviceLocationId}
Actualizar Service Location Update an existing service location
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- serviceLocationId (path, string) (requerido) — Id de Unique Service Location
Cuerpo de la peticion (application/json):
- name — string — Location name
- slug — string — Updated URL-friendly slug identifier
- phone — string — Updated contact phone number
- address — string — Use a full street address when locationType is offline. Use a user-facing label when locationType is ask_booker.
- coverImage — string — Updated URL of the cover image
- locationType — string — Location type
Respuestas:
- 200 — Service location updated successfully
- 400 — Peticion invalida
- 401 — Usuario no autenticado
DELETE /calendars/services/locations/{serviceLocationId}
Eliminar Service Location Delete a service location by Id
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- serviceLocationId (path, string) (requerido) — Id de Unique Service Location
Respuestas:
- 200 — Service location deleted successfully
- 400 — Peticion invalida
- 401 — Usuario no autenticado
POST /calendars/events/appointments
Crear cita Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- title — string — Title
- meetingLocationType — string — Meeting location type.
- If address is provided in the request body, the meetingLocationType defaults to custom.
- meetingLocationId — string — The unique identifier for the meeting location.
- This value can be found in calendar.locationConfigurationsor calendar.teamMembers[].locationConfigurations
- overrideLocationConfig — boolean — Flag to override location config
- false - If only meetingLocationId is provided
- true - If only meetingLocationType is provided
- appointmentStatus — string
- assignedUserId — string — Assigned User Id
- description — string — Appointment Description
- address — string — Appointment Address
- ignoreDateRange — boolean — If set to true, the minimum scheduling notice and date range would be ignored
- toNotify — boolean — If set to false, the automations will not run. Defaults to true
- ignoreFreeSlotValidation — boolean — If true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)
- rrule — string — RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.
- calendarId (requerido) — string — Calendar Id
- locationId (requerido) — string — Location Id
- contactId (requerido) — string — Contact Id
- startTime (requerido) — string — Start Time
- endTime — string — End Time
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/events/appointments/{eventId}
Actualizar cita Update appointment
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- eventId (path, string) (requerido) — Event Id or Instance id. For recurring appointments send masterEventId to modify original series.
Cuerpo de la peticion (application/json):
- title — string — Title
- meetingLocationType — string — Meeting location type.
- If address is provided in the request body, the meetingLocationType defaults to custom.
- meetingLocationId — string — The unique identifier for the meeting location.
- This value can be found in calendar.locationConfigurationsor calendar.teamMembers[].locationConfigurations
- overrideLocationConfig — boolean — Flag to override location config
- false - If only meetingLocationId is provided
- true - If only meetingLocationType is provided
- appointmentStatus — string
- assignedUserId — string — Assigned User Id
- description — string — Appointment Description
- address — string — Appointment Address
- ignoreDateRange — boolean — If set to true, the minimum scheduling notice and date range would be ignored
- toNotify — boolean — If set to false, the automations will not run. Defaults to true
- ignoreFreeSlotValidation — boolean — If true the time slot validation would be avoided for any appointment creation (even the ignoreDateRange)
- rrule — string — RRULE as per the iCalendar (RFC 5545) specification for recurring events. DTSTART is not required, instance ids are calculated on the basis of startTime of the event. The rrule only be applied if ignoreFreeSlotValidation is true.
- calendarId — string — Calendar Id
- startTime — string — Start Time
- endTime — string — End Time
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/events/appointments/{eventId}
Obtener cita Get appointment by Id
Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- eventId (path, string) (requerido) — Event Id or Instance id. For recurring appointments send masterEventId to modify original series.
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/events
Obtener Calendar Events Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
- userId (query, string) — User Id - Owner of an appointment. Either of userId, groupId or calendarId is required
- calendarId (query, string) — Either of calendarId, userId or groupId is required
- groupId (query, string) — Either of groupId, calendarId or userId is required
- startTime (query, string) (requerido) — Start Time (in millis)
- endTime (query, string) (requerido) — End Time (in millis)
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/blocked-slots
Obtener Blocked Slots Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
- userId (query, string) — User Id - Owner of an appointment. Either of userId, groupId or calendarId is required
- calendarId (query, string) — Either of calendarId, userId or groupId is required
- groupId (query, string) — Either of groupId, calendarId or userId is required
- startTime (query, string) (requerido) — Start Time (in millis)
- endTime (query, string) (requerido) — End Time (in millis)
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/events/block-slots
Crear Block Slot Create block slot
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- title — string — Title
- calendarId (requerido) — string — Either calendarId or assignedUserId can be set, not both.
- assignedUserId — string — Either calendarId or assignedUserId can be set, not both.
- locationId (requerido) — string — Location Id
- startTime — string — Start Time
- endTime — string — End Time
Respuestas:
- 201 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/events/block-slots/{eventId}
Actualizar Block Slot Update block slot by Id
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- eventId (path, string) (requerido) — Event Id or Instance id. For recurring appointments send masterEventId to modify original series.
Cuerpo de la peticion (application/json):
- title — string — Title
- calendarId (requerido) — string — Either calendarId or assignedUserId can be set, not both.
- assignedUserId — string — Either calendarId or assignedUserId can be set, not both.
- locationId (requerido) — string — Location Id
- startTime — string — Start Time
- endTime — string — End Time
Respuestas:
- 201 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/{calendarId}/free-slots
Obtener Free Slots Get free slots for a calendar between a date range. Optionally a consumer can also request free slots in a particular timezone and also for a particular user.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Id de calendario
- startDate (query, number) (requerido) — Start Date (⚠️ Important: Date range cannot be more than 31 days)
- endDate (query, number) (requerido) — End Date (⚠️ Important: Date range cannot be more than 31 days)
- timezone (query, string) — The timezone in which the free slots are returned
- userId (query, string) — The user for whom the free slots are returned
- userIds (query, array) — The users for whom the free slots are returned
Respuestas:
- 200 — Availability map keyed by date (YYYY-MM-DD)
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/{calendarId}
Actualizar calendario Update calendar by Id.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Id de calendario
Cuerpo de la peticion (application/json):
- notifications — array — 🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.
- type — string — Calendar Notification
- shouldSendToContact (requerido) — boolean
- shouldSendToGuest (requerido) — boolean
- shouldSendToUser (requerido) — boolean
- shouldSendToSelectedUsers (requerido) — boolean
- selectedUsers (requerido) — string — Comma separated emails
- groupId — string — Group Id
- teamMembers — array — Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.
- userId (requerido) — string
- priority — number
- meetingLocationType — string — 🚨 Deprecated! Use locationConfigurations.kind instead.
- meetingLocation — string — 🚨 Deprecated! Use locationConfigurations.location instead.
- isPrimary — boolean — Marks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary.
- locationConfigurations — array — Meeting location configuration for event calendar.
- Multiple locations are allowed only when one team member is selected.
- For Class booking and Collective calendars, only one location configuration is allowed for each team member.
- kind (requerido) — string — Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type
- location — string — Address for meeting location. Not applicable on "zoom_conference", "google_conference" and "ms_teams_conference" kind
- eventType — string
- name — string
- description — string
- slug — string
- widgetSlug — string
- widgetType — string — Calendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.
- eventTitle — string
- eventColor — string
- locationConfigurations — array — Meeting location configuration for event calendar
- kind (requerido) — string — Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type
- location — string — Address for meeting location. Not applicable on "zoom_conference", "google_conference" and "ms_teams_conference" kind
- meetingLocation — string — 🚨 Deprecated! Use locationConfigurations.location or teamMembers[].locationConfigurations.location instead.
- slotDuration — number — This controls the duration of the meeting
- slotDurationUnit — string — Unit for slot duration.
- preBufferUnit — string — Unit for pre-buffer.
- slotInterval — number — Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.
- slotIntervalUnit — string — Unit for slot interval.
- slotBuffer — number — Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up
- preBuffer — number — Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
- appoinmentPerSlot — number
- appoinmentPerDay — number — Number of appointments that can be booked for a given day
- allowBookingAfter — number — Minimum scheduling notice for events
- allowBookingAfterUnit — string — Unit for minimum scheduling notice
- allowBookingFor — number — Minimum number of days/weeks/months for which to allow booking events
- allowBookingForUnit — string — Unit for controlling the duration for which booking would be allowed for
- openHours — array — While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
- daysOfTheWeek (requerido) — array
- hours (requerido) — array
- openHour (requerido) — number
- openMinute (requerido) — number
- closeHour (requerido) — number
- closeMinute (requerido) — number
- enableRecurring — boolean — Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this
- recurring —
- freq — string
- count — number — Number of recurrences
- bookingOption — string — This setting contols what to do incase a recurring slot is unavailable
- bookingOverlapDefaultStatus — string — This setting contols what to do incase a recurring slot is unavailable
- formId — string
- stickyContact — boolean
- isLivePaymentMode — boolean
- autoConfirm — boolean
- shouldSendAlertEmailsToAssignedMember — boolean
- alertEmail — string
- googleInvitationEmails — boolean
- allowReschedule — boolean
- allowCancellation — boolean
- shouldAssignContactToTeamMember — boolean
- shouldSkipAssigningContactForExisting — boolean
- notes — string
- pixelId — string
- formSubmitType — string
- formSubmitRedirectURL — string
- formSubmitThanksMessage — string
- availabilityType — number — While we will support this property for backward compatibility, it is not required anymore.
- availabilities — array — While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
- date (requerido) — string — Formulate the date string in the format of <YYYY-MM-DD in local timezone>T00:00:00.000Z.
- hours (requerido) — array
- openHour (requerido) — number
- openMinute (requerido) — number
- closeHour (requerido) — number
- closeMinute (requerido) — number
- deleted — boolean
- id — string — The Id of the custom availability object. It is required while updating or deleting the existing custom date availability
- guestType — string
- consentLabel — string
- calendarCoverImage — string
- lookBusyConfig — — Look Busy Configuration
- isActive — boolean
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/{calendarId}
Obtener calendario Get calendar by Id
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Id de calendario
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
DELETE /calendars/{calendarId}
Eliminar calendario Delete calendar by Id
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Id de calendario
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
DELETE /calendars/events/{eventId}
Eliminar evento Delete event by Id
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- eventId (path, string) (requerido) — Event Id or Instance id. For recurring appointments send masterEventId to modify original series.
Cuerpo de la peticion (application/json): - (ver esquema en la fuente original)
Respuestas:
- 201 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/appointments/{appointmentId}/notes
Obtener notas Get Appointment Notes
Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- limit (query, number) (requerido) — Limit of notes to fetch
- offset (query, number) (requerido) — Offset of notes to fetch
- appointmentId (path, string) (requerido) — Id de cita
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/appointments/{appointmentId}/notes
Crear nota Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- appointmentId (path, string) (requerido) — Id de cita
Cuerpo de la peticion (application/json):
- userId — string
- body (requerido) — string — Note body
Respuestas:
- 201 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/appointments/{appointmentId}/notes/{noteId}
Actualizar nota Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- appointmentId (path, string) (requerido) — Id de cita
Cuerpo de la peticion (application/json):
- userId — string
- body (requerido) — string — Note body
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
DELETE /calendars/appointments/{appointmentId}/notes/{noteId}
Eliminar nota Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- appointmentId (path, string) (requerido) — Id de cita
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/resources/{resourceType}/{id}
Obtener Calendar Resource Get calendar resource by Id (Services V1)
Scopes requeridos: calendars/resources.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- resourceType (path, string) (requerido) — Calendar Resource Type
- id (path, string) (requerido) — Id de Calendar Resource
Respuestas:
- 200 — Calendar resource fetched
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/resources/{resourceType}/{id}
Actualizar Calendar Resource Update calendar resource by Id (Services V1)
Scopes requeridos: calendars/resources.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- resourceType (path, string) (requerido) — Calendar Resource Type
- id (path, string) (requerido) — Id de Calendar Resource
Cuerpo de la peticion (application/json):
- locationId — string
- name — string
- description — string
- quantity — number — Quantity of the equipment.
- outOfService — number — Quantity of the out of service equipment.
- capacity — number — Capacity of the room.
- calendarIds — array — Service calendar IDs to be mapped with the resource.
One equipment can only be mapped with one service calendar.
One room can be mapped with multiple service calendars.
- isActive — boolean
Respuestas:
- 200 — Calendar resource updated
- 400 — Peticion invalida
- 401 — No autorizado
DELETE /calendars/resources/{resourceType}/{id}
Eliminar Calendar Resource Delete calendar resource by Id (Services V1)
Scopes requeridos: calendars/resources.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- resourceType (path, string) (requerido) — Calendar Resource Type
- id (path, string) (requerido) — Id de Calendar Resource
Respuestas:
- 200 — Calendar resource deleted
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/resources/{resourceType}
Listar Calendar Resources List calendar resources by resource type and location Id (Services V1)
Scopes requeridos: calendars/resources.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- resourceType (path, string) (requerido) — Calendar Resource Type
- locationId (query, string) (requerido) —
- limit (query, number) (requerido) —
- skip (query, number) (requerido) —
Respuestas:
- 200 — Calendar resources listed
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/resources/{resourceType}
Crear Calendar Resource Create calendar resource by resource type (Services V1)
Scopes requeridos: calendars/resources.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- resourceType (path, string) (requerido) — Calendar Resource Type
Cuerpo de la peticion (application/json):
- locationId (requerido) — string
- name (requerido) — string
- description (requerido) — string
- quantity (requerido) — number — Quantity of the equipment.
- outOfService (requerido) — number — Quantity of the out of service equipment.
- capacity (requerido) — number — Capacity of the room.
- calendarIds (requerido) — array — Service calendar IDs to be mapped with the resource.
One equipment can only be mapped with one service calendar.
One room can be mapped with multiple service calendars.
Respuestas:
- 201 — Calendar resource created
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/{calendarId}/notifications
Obtener notifications Get calendar notifications based on query
Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) —
- isActive (query, boolean) —
- deleted (query, boolean) —
- limit (query, number) — Number of records to return
- skip (query, number) — Número de registros a omitir
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/{calendarId}/notifications
Crear notification Create Calendar notifications, either one or multiple. All notification settings must be for single calendar only
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) —
Cuerpo de la peticion (application/json):
- receiverType (requerido) — string — notification recipient type
- channel (requerido) — string — Notification channel
- notificationType (requerido) — string — Notification type
- isActive — boolean — Is the notification active
- templateId — string — Template Id for email notification. Not necessary for in-App notification
- body — string — Body for email notification. Not necessary for in-App notification
- subject — string — Subject for email notification. Not necessary for in-App notification
- afterTime — array — Specifies the time after which the follow-up notification should be sent. This is not required for other notification types.
- timeOffset — number
- unit — string
- beforeTime — array — Specifies the time before which the reminder notification should be sent. This is not required for other notification types.
- timeOffset — number
- unit — string
- additionalEmailIds — array — Additional email addresses to receive notifications.
- additionalPhoneNumbers — array — Additional phone numbers to receive notifications.
- selectedUsers — array — Selected users for in-App and business email notifications. Supports user IDs and special keyword "sub_account_admin"
- fromAddress — string — from address for email notification
- fromName — string — from name for email/sms notification
- fromNumber — string — from number for sms notification
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/{calendarId}/notifications/{notificationId}
Obtener notification Find Event notification by notificationId
Scopes requeridos: calendars/events.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) —
- notificationId (path, string) (requerido) —
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
PUT /calendars/{calendarId}/notifications/{notificationId}
Actualizar notification Update Event notification by id
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) —
- notificationId (path, string) (requerido) —
Cuerpo de la peticion (application/json):
- receiverType — string — Notification recipient type
- additionalEmailIds — array — Additional email addresses to receive notifications.
- additionalPhoneNumbers — array — Additional phone numbers to receive notifications.
- selectedUsers — array — Selected users for in-App and business email notifications. Supports user IDs and special keyword "sub_account_admin"
- channel — string — Notification channel
- notificationType — string — Notification type
- isActive — boolean — Is the notification active
- deleted — boolean — Marks the notification as deleted (soft delete)
- templateId — string — Template Id for email notification
- body — string — Body for email notification. Not necessary for in-App notification
- subject — string — Subject for email notification. Not necessary for in-App notification
- afterTime — array — Specifies the time after which the follow-up notification should be sent. This is not required for other notification types.
- timeOffset — number
- unit — string
- beforeTime — array — Specifies the time before which the reminder notification should be sent. This is not required for other notification types.
- timeOffset — number
- unit — string
- fromAddress — string — From address for email notification
- fromNumber — string — from number for sms notification
- fromName — string — From name for email/sms notification
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
DELETE /calendars/{calendarId}/notifications/{notificationId}
Eliminar Notification Delete notification
Scopes requeridos: calendars/events.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) —
- notificationId (path, string) (requerido) —
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
GET /calendars/schedules/search
Listar user availability schedule Retrieve user availability schedules based on various filters including location, calendar, and user. Supports pagination.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Location Id to filter schedules by
- userId (query, string) (requerido) — User Id to filter schedules by specific user
- calendarId (query, string) — Calendar Id for filtering schedules by specific calendar
- skip (query, number) — Number of items to skip for pagination
- limit (query, number) — Maximum number of items to return (max 500)
Respuestas:
- 200 — Schedules retrieved successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
GET /calendars/schedules/{id}
Obtener user availability schedule Retrieve a specific schedule by its unique identifier. Returns detailed information including rules, timezone, and associated calendars/users.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- id (path, string) (requerido) — Unique identifier of the schedule
Respuestas:
- 200 — Schedule found and retrieved successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 404 — Schedule with the specified Id was not found
PUT /calendars/schedules/{id}
Actualizar user availability schedule Modify an existing schedule by updating its rules, timezone, and name All fields are optional - only provided fields will be updated.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- id (path, string) (requerido) — Unique identifier of the schedule to update
Cuerpo de la peticion (application/json):
- name — string — Human-readable name for the schedule
- rules — array — Updated schedule rules defining when the schedule is active
- type (requerido) — string — Type of schedule rule - weekday (recurring) or date (specific date)
- intervals (requerido) — array — Time intervals for the rule (e.g., 9 AM to 5 PM)
- from (requerido) — string — Start time in HH:MM format (24-hour format)
- to (requerido) — string — End time in HH:MM format (24-hour format)
- date — string — Specific date in YYYY-MM-DD format (only for date-type rules)
- day — string — Day of week (only for weekday-type rules)
- timezone — string — Updated timezone for the schedule (IANA timezone identifier)
Respuestas:
- 200 — Schedule updated successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 404 — Schedule with the specified Id was not found
- 422 — Validation errors in schedule rules or conflicting data
DELETE /calendars/schedules/{id}
Eliminar user availability schedule Permanently remove a schedule and all its associated rules. This action cannot be undone.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- id (path, string) (requerido) — Unique identifier of the schedule to delete
Respuestas:
- 200 — Schedule deleted successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 404 — Schedule with the specified Id was not found
POST /calendars/schedules
Crear user availability schedule Create new schedule with specified rules, timezone, location, user and calendar associations.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- rules — array — Schedule rules defining when the schedule is active
- type (requerido) — string — Type of schedule rule - weekday (recurring) or date (specific date)
- intervals (requerido) — array — Time intervals for the rule (e.g., 9 AM to 5 PM)
- from (requerido) — string — Start time in HH:MM format (24-hour format)
- to (requerido) — string — End time in HH:MM format (24-hour format)
- date — string — Specific date in YYYY-MM-DD format (only for date-type rules)
- day — string — Day of week (only for weekday-type rules)
- timezone (requerido) — string — Timezone for the schedule (IANA timezone identifier)
- locationId (requerido) — string — Location Id where this schedule applies
- name (requerido) — string — Human-readable name for the schedule
- userId (requerido) — string — User Id associated with the schedule
- calendarIds — array — Calendar IDs associated with the schedule
Respuestas:
- 201 — Schedule created successfully
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 422 — Validation errors in schedule rules or conflicting data
PUT /calendars/schedules/{id}/associations/{calendarId}
Apply user availability schedule to a calendar Associates a calendar with the given schedule by adding the calendarId to a schedule
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- id (path, string) (requerido) — Unique identifier of the schedule
- calendarId (path, string) (requerido) — Unique identifier of the team calendar to add to the schedule
Respuestas:
- 200 — Calendar successfully added to schedule
- 400 — Schedule and calendar must belong to the same location
- 401 — Usuario no autenticado
- 404 — Schedule or calendar not found
DELETE /calendars/schedules/{id}/associations/{calendarId}
Quitar user availability schedule from a calendar Removes the association between a team calendar and the given schedule by removing the calendarId from the schedule
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- id (path, string) (requerido) — Unique identifier of the schedule
- calendarId (path, string) (requerido) — Unique identifier of the calendar to remove from the schedule
Respuestas:
- 200 — Calendar successfully removed from schedule
- 400 — Schedule and calendar must belong to the same location
- 401 — Usuario no autenticado
- 404 — Schedule or calendar not found
POST /calendars/schedules/event-calendar/{calendarId}
Crear event calendar availability schedule Create a new availability schedule specifically for an event calendar. The calendar Id is provided in the path, and schedule rules and timezone are provided in the request body.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Unique identifier of the event calendar
Cuerpo de la peticion (application/json):
- rules (requerido) — array — Schedule rules defining when the schedule is active
- type (requerido) — string — Type of schedule rule - weekday (recurring) or date (specific date)
- intervals (requerido) — array — Time intervals for the rule (e.g., 9 AM to 5 PM)
- from (requerido) — string — Start time in HH:MM format (24-hour format)
- to (requerido) — string — End time in HH:MM format (24-hour format)
- date — string — Specific date in YYYY-MM-DD format (only for date-type rules)
- day — string — Day of week (only for weekday-type rules)
- timezone (requerido) — string — Timezone for the schedule (IANA timezone identifier)
Respuestas:
- 201 — Schedule created successfully for the event calendar
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 404 — Event calendar with the specified Id was not found
- 422 — Validation errors in schedule rules or conflicting data
GET /calendars/schedules/event-calendar/{calendarId}
Obtener event calendar availability schedule Retrieve the availability schedule for a specific event calendar. Returns the schedule associated with the calendar Id provided in the path.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Unique identifier of the event calendar
Respuestas:
- 200 — Schedule retrieved successfully for the event calendar
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 404 — Event calendar or schedule with the specified Id was not found
PUT /calendars/schedules/event-calendar/{calendarId}
Actualizar event calendar availability schedule Update the availability schedule for a specific event calendar. Only provided fields will be updated. The calendar Id is provided in the path.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- calendarId (path, string) (requerido) — Unique identifier of the event calendar
Cuerpo de la peticion (application/json):
- rules — array — Updated schedule rules defining when the schedule is active
- type (requerido) — string — Type of schedule rule - weekday (recurring) or date (specific date)
- intervals (requerido) — array — Time intervals for the rule (e.g., 9 AM to 5 PM)
- from (requerido) — string — Start time in HH:MM format (24-hour format)
- to (requerido) — string — End time in HH:MM format (24-hour format)
- date — string — Specific date in YYYY-MM-DD format (only for date-type rules)
- day — string — Day of week (only for weekday-type rules)
- timezone — string — Updated timezone for the schedule (IANA timezone identifier)
Respuestas:
- 200 — Schedule updated successfully for the event calendar
- 400 — Parametros de la solicitud invalidos
- 401 — Usuario no autenticado
- 404 — Event calendar or schedule with the specified Id was not found
- 422 — Validation errors in schedule rules or conflicting data
GET /calendars/
Obtener calendarios Get all calendars in a location.
Scopes requeridos: calendars.readonly
Parametros:
- Versión (header, string) (requerido) — Versión de la API
- locationId (query, string) (requerido) — Id de sede
- groupId (query, string) — Id de Group
- showDrafted (query, boolean) — Show drafted
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
POST /calendars/
Crear calendario Create calendar in a location.
Scopes requeridos: calendars.write
Parametros:
- Versión (header, string) (requerido) — Versión de la API
Cuerpo de la peticion (application/json):
- isActive — boolean — Should the created calendar be active or draft
- notifications — array — 🚨 Deprecated! Please use 'Calendar Notifications APIs' instead.
- type — string — Calendar Notification
- shouldSendToContact (requerido) — boolean
- shouldSendToGuest (requerido) — boolean
- shouldSendToUser (requerido) — boolean
- shouldSendToSelectedUsers (requerido) — boolean
- selectedUsers (requerido) — string — Comma separated emails
- locationId (requerido) — string
- groupId — string — Group Id
- teamMembers — array — Team members are required for calendars of type: Round Robin, Collective, Class, Service. Personal calendar must have exactly one team member.
- userId (requerido) — string
- priority — number
- meetingLocationType — string — 🚨 Deprecated! Use locationConfigurations.kind instead.
- meetingLocation — string — 🚨 Deprecated! Use locationConfigurations.location instead.
- isPrimary — boolean — Marks a user as primary. This property is required in case of collective booking calendars. Only one user can be primary.
- locationConfigurations — array — Meeting location configuration for event calendar.
- Multiple locations are allowed only when one team member is selected.
- For Class booking and Collective calendars, only one location configuration is allowed for each team member.
- kind (requerido) — string — Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type
- location — string — Address for meeting location. Not applicable on "zoom_conference", "google_conference" and "ms_teams_conference" kind
- eventType — string
- name (requerido) — string
- description — string
- slug — string
- widgetSlug — string
- calendarType — string
- widgetType — string — Calendar widget type. Choose "default" for "neo" and "classic" for "classic" layout.
- eventTitle — string
- eventColor — string
- meetingLocation — string — 🚨 Deprecated! Use locationConfigurations.location or teamMembers[].locationConfigurations.location instead.
- locationConfigurations — array — Meeting location configuration for event calendar
- kind (requerido) — string — Type of meeting location. zoom_conference/google_conference/ms_teams_conference is not supported in event calendar type
- location — string — Address for meeting location. Not applicable on "zoom_conference", "google_conference" and "ms_teams_conference" kind
- slotDuration — number — This controls the duration of the meeting
- slotDurationUnit — string — Unit for slot duration.
- slotInterval — number — Slot interval reflects the amount of time the between booking slots that will be shown in the calendar.
- slotIntervalUnit — string — Unit for slot interval.
- slotBuffer — number — Slot-Buffer is additional time that can be added after an appointment, allowing for extra time to wrap up
- slotBufferUnit — string — Unit for slot buffer.
- preBuffer — number — Pre-Buffer is additional time that can be added before an appointment, allowing for extra time to get ready
- preBufferUnit — string — Unit for pre-buffer.
- appoinmentPerSlot — number — Maximum bookings per slot (per user). Maximum seats per slot in case of Class Booking Calendar.
- appoinmentPerDay — number — Number of appointments that can be booked for a given day
- allowBookingAfter — number — Minimum scheduling notice for events
- allowBookingAfterUnit — string — Unit for minimum scheduling notice
- allowBookingFor — number — Minimum number of days/weeks/months for which to allow booking events
- allowBookingForUnit — string — Unit for controlling the duration for which booking would be allowed for
- openHours — array — While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
- daysOfTheWeek (requerido) — array
- hours (requerido) — array
- openHour (requerido) — number
- openMinute (requerido) — number
- closeHour (requerido) — number
- closeMinute (requerido) — number
- enableRecurring — boolean — Enable recurring appointments for the calendars. Please note that only one member should be added in the calendar to enable this
- recurring —
- freq — string
- count — number — Number of recurrences
- bookingOption — string — This setting contols what to do incase a recurring slot is unavailable
- bookingOverlapDefaultStatus — string — This setting contols what to do incase a recurring slot is unavailable
- formId — string
- stickyContact — boolean
- isLivePaymentMode — boolean
- autoConfirm — boolean
- shouldSendAlertEmailsToAssignedMember — boolean
- alertEmail — string
- googleInvitationEmails — boolean
- allowReschedule — boolean
- allowCancellation — boolean
- shouldAssignContactToTeamMember — boolean
- shouldSkipAssigningContactForExisting — boolean
- notes — string
- pixelId — string
- formSubmitType — string
- formSubmitRedirectURL — string
- formSubmitThanksMessage — string
- availabilityType — number — While we will support this property for backward compatibility, it is not required anymore.
- availabilities — array — While we will support this property for backward compatibility, it is recommended to use 'Availability' APIs instead.
- date (requerido) — string — Formulate the date string in the format of <YYYY-MM-DD in local timezone>T00:00:00.000Z.
- hours (requerido) — array
- openHour (requerido) — number
- openMinute (requerido) — number
- closeHour (requerido) — number
- closeMinute (requerido) — number
- deleted — boolean
- guestType — string
- consentLabel — string
- calendarCoverImage — string
- lookBusyConfig — — Look Busy Configuration
Respuestas:
- 200 — Respuesta exitosa
- 400 — Peticion invalida
- 401 — No autorizado
