Lists the meeting types sellers publish on their public booking pages (title, slug, duration, buffers, notice, location, custom questions, reminders, enabled), oldest first and paginated by cursor (limit 50 by default, up to 200), each with the seller's name (user_name). Filter by vendor_user_id for one seller. The order a seller set for their page is the order field. Read-only.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_booking_event_types_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.list".
Custo declarado: até 202 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
limitintegerqueryopcional
How many items this page brings at most (see the maximum and the default in the schema).
Padrão: 50
cursorstringqueryopcional
The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.
vendor_user_idstringqueryopcional
Only this seller's (a user_id of crm.team.list); without it, every seller's.
Creates a meeting type for a seller's public booking page (user_id: a member of the CRM team): title, slug (unique per seller), duration, buffers, minimum notice, booking horizon, daily cap, slot step, location (meet, zoom, phone, in_person, custom_url), custom questions, phone field, email and WhatsApp reminders, blocked dates and redirect. It is created disabled: enable it with crm.booking.event_types.set_enabled. A WhatsApp reminder needs the phone field enabled and required. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_event_types_createNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.create".
Custo declarado: até 2 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringcorpoobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
slugstringcorpoobrigatório
Last part of the public link (…/book/<organization>/<seller>/<slug>): lowercase letters, digits and dashes, starting with a letter; unique per seller.
titlestringcorpoobrigatório
Name shown on the booking page and in the invitations.
locationobjectcorpoobrigatório
Where the meeting happens.
descriptionstringcorpoopcional
Shown on the booking page (short markdown allowed).
colorstringcorpoopcional
Hex color of the event type in the app's calendar (#rrggbb).
durationintegercorpoopcional
Length of the meeting in minutes, 5 to 480 (default 30).
Padrão: 30
buffer_beforeintegercorpoopcional
Free minutes kept before each meeting, 0 to 60 (default 0).
Padrão: 0
buffer_afterintegercorpoopcional
Free minutes kept after each meeting, 0 to 60 (default 0).
Padrão: 0
min_notice_hoursintegercorpoopcional
How many hours ahead a slot must be to be bookable, 0 to 168 (default 4).
Padrão: 4
max_advance_daysintegercorpoopcional
How many days ahead it can be booked, 1 to 365 (default 60).
Padrão: 60
max_bookings_per_dayintegercorpoopcional
Most bookings of this type per day, 1 to 50; without it, no cap.
Updates any field of an event type (the same ones as on create); only the fields sent change, and a changed slug must stay unique for the seller. The WhatsApp reminder rule is checked against the merged result. To enable or disable it use crm.booking.event_types.set_enabled. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_event_types_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.update".
Custo declarado: até 2 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
event_type_idstringrotaobrigatório
The event type's id, from crm.booking.event_types.list.
slugstringcorpoopcional
Last part of the public link (…/book/<organization>/<seller>/<slug>): lowercase letters, digits and dashes, starting with a letter; unique per seller.
titlestringcorpoopcional
Name shown on the booking page and in the invitations.
descriptionstringcorpoopcional
Shown on the booking page (short markdown allowed).
colorstringcorpoopcional
Hex color of the event type in the app's calendar (#rrggbb).
durationintegercorpoopcional
Length of the meeting in minutes, 5 to 480 (default 30).
buffer_beforeintegercorpoopcional
Free minutes kept before each meeting, 0 to 60 (default 0).
buffer_afterintegercorpoopcional
Free minutes kept after each meeting, 0 to 60 (default 0).
min_notice_hoursintegercorpoopcional
How many hours ahead a slot must be to be bookable, 0 to 168 (default 4).
max_advance_daysintegercorpoopcional
How many days ahead it can be booked, 1 to 365 (default 60).
max_bookings_per_dayintegercorpoopcional
Most bookings of this type per day, 1 to 50; without it, no cap.
Turns an event type on (it shows on the seller's public booking page and takes bookings) or off (hidden, configuration kept; existing bookings are not touched). Idempotent. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_event_types_set_enabledNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.set_enabled".
Custo declarado: até 1 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
event_type_idstringrotaobrigatório
The event type's id, from crm.booking.event_types.list.
enabledbooleancorpoobrigatório
true shows it on the booking page and takes bookings; false hides it (its configuration is kept).
Copies an event type for the same seller with a free slug ('-copia', '-copia-2'…), the title plus ' (copia)', the counters at zero and disabled. Returns the new id. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_event_types_duplicateNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.duplicate".
Custo declarado: até 52 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
event_type_idstringrotaobrigatório
The event type's id, from crm.booking.event_types.list.
Deletes an event type for good (it does not go to the trash). Refused with event_type_has_upcoming_bookings while it has confirmed bookings ahead: disable it with crm.booking.event_types.set_enabled instead. Past bookings keep their data. The booking lead sources bound to it are paused (they would take no more leads); the dry run names them. Own: manage_own_booking; another seller's: manage_any_booking.
Pede confirmação: primeiro dry_run: true (prévia e confirm_token, válido por 10 minutos e por uma única execução), depois o mesmo corpo com confirm_token. Em algumas poucas, só com certos dados: a descrição diz quando. Por que e como: Prévia e confirmação.
Escopo
crm:writee «Permitir exclusões» (crm:delete no OAuth)
Permissão
Editar no módulo
Tool do MCP
crm_booking_event_types_deleteNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.delete".
Custo declarado: até 102 leituras e 21 escritas por chamada (contam na cota diária).
Parâmetros
event_type_idstringrotaobrigatório
The event type's id, from crm.booking.event_types.list.
Sets the order of a seller's event types on their booking page and list: ordered_ids (up to 200) become order 0, 1, 2… Every id must be an event type of that seller (user_id). Idempotent. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_event_types_reorderNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.event_types.reorder".
Custo declarado: até 200 leituras e 200 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringcorpoobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
ordered_idsarray<string>corpoobrigatório
That seller's event type ids in the new order, up to 200.
Replaces a seller's weekly booking availability: an IANA time zone and seven days (mon…sun), each with up to six ranges in minutes from midnight (end after start; an empty day is unavailable). Event types without their own schedule offer slots from it. The seller must be on the CRM team. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_schedules_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.schedules.update".
Custo declarado: até 2 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringrotaobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
scheduleobjectcorpoobrigatório
The whole weekly schedule: it replaces the saved one.
Lists every seller of the CRM team with their name (display_name, as the team shows it) and whether their public booking is on (booking_enabled). Use crm.booking.settings.get for one seller's full page and schedule. Read-only.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_booking_settings_listNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.settings.list".
Custo declarado: até 400 leituras e 0 escritas por chamada (contam na cota diária).
Returns a seller's booking settings: whether booking is on, the weekly schedule and time zone, the public slug, bio, display name, avatar, default page language, calendar color and calendar sharing; null if they never configured them. Own: view_own_bookings; another seller's: view_any_booking.
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_booking_settings_getNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.settings.get".
Custo declarado: até 1 leituras e 0 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringrotaobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
Updates a seller's public booking page: bio, display name, default language (es, en, pt-BR) and avatar (a public https URL or an MB Suite storage path; null removes it). Fields left out keep their value. The slug changes with crm.booking.settings.set_slug and the switch with crm.booking.settings.set_enabled. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_settings_updateNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.settings.update".
Custo declarado: até 2 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringrotaobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
biostringcorpoopcional
Text under the seller's name on the booking page, up to 2000 characters.
avatar_urlstring | nullcorpoopcional
The page's photo: a public https URL or an MB Suite storage path; null removes it (crm.booking.settings.use_profile_photo copies the profile photo).
display_namestringcorpoopcional
Name shown on the booking page (default: the profile name).
default_localeenumcorpoopcional
Language the booking page opens in: es, en or pt-BR.
The master switch of a seller's public booking (off by default). Turning it on also gives them a default schedule, a public slug and a '30-minute meeting' event type when they have none, so the page works right away; off hides the page and rejects new bookings (existing ones stay). Idempotent. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_settings_set_enabledNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.settings.set_enabled".
Custo declarado: até 50 leituras e 4 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringrotaobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
enabledbooleancorpoobrigatório
true turns the seller's public booking on, false off.
Sets the slug of a seller's public booking page (/book/{org}/{slug}): unique in the organization, lowercase letters, digits and dashes, starting with a letter, some words reserved. The previous slug is released. Links shared with the old slug stop working. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_settings_set_slugNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.settings.set_slug".
Custo declarado: até 25 leituras e 3 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringrotaobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
slugstringcorpoobrigatório
The seller's part of the public link (/book/<organization>/<slug>): lowercase letters, digits and dashes, starting with a letter, unique in the organization.
Use the seller's profile photo on their booking page
crm.booking.settings.use_profile_photo
EscritaDesde 2026-11-01
Copies the seller's MB Suite profile photo to public storage and sets it as their booking page avatar, so it shows in link previews and to anonymous visitors. A Google Workspace photo cannot be fetched (profile_photo_not_public: upload one instead); no photo answers profile_photo_missing. Own: manage_own_booking; another seller's: manage_any_booking.
Escopo
crm:write
Permissão
Editar no módulo
Tool do MCP
crm_booking_settings_use_profile_photoNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.settings.use_profile_photo".
Custo declarado: até 3 leituras e 1 escritas por chamada (contam na cota diária).
Parâmetros
user_idstringrotaobrigatório
The seller (a user_id of crm.team.list): their own needs manage_own_booking, someone else's manage_any_booking.
curl-X POST "https://api.mb-suite.com/v1/crm/booking/settings/{user_id}/profile-photo" \
-H"Authorization: Bearer $MB_API_KEY"
Testar com a sua API key de teste
Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.
curl-X POST "https://api.mb-suite.com/v1/crm/booking/settings/{user_id}/profile-photo" \
-H"Authorization: Bearer $MB_TEST_KEY"
GET/v1/crm/booking/availability
List a seller's free booking slots for an event type
crm.booking.availability
LeituraIdempotenteDesde 2026-11-01
Returns the free slots of one of a seller's booking event types between from and to (ms UTC; default: from now for 14 days; at most 31 days per call), computed by the same engine as the public booking page and the AI Setter: the event type's schedule (or the seller's), blocked dates, minimum notice, maximum advance, buffers, the daily cap, the seller's confirmed bookings and the busy times of their connected Google or Outlook calendar (best effort: with calendar_connected false, or if their calendar does not answer, the slots cannot account for it). Pick the event type by event_type_id, or by event_type_slug with vendor_user_id (default: the caller). Each slot has start_ms and end_ms (UTC), start_local in time_zone (the booker's IANA zone; default: the seller's) and start_local_vendor; book one by passing its start_ms to crm.bookings.create. At most limit slots (default 100, up to 500); has_more says there are more in the window: ask again from the last end_ms. Nothing is booked or held. Errors: booking_unavailable (409, details.reason vendor_not_configured, vendor_booking_disabled or event_type_disabled), booking_event_type_not_found, event_type_not_of_vendor, invalid_timezone, invalid_time_range. Your own slots need view_own_bookings; another seller's, view_any_booking (owners, admins, CRM admins and sales managers).
Escopo
crm:read
Permissão
Ver o módulo
Tool do MCP
crm_booking_availabilityNa superfície completa; na compacta, mb_execute_operation com id: "crm.booking.availability".
Custo declarado: até 300 leituras e 0 escritas por chamada (contam na cota diária). Usa uma plataforma externa (google): conta na cota de operações externas.
Parâmetros
vendor_user_idstringqueryopcional
The seller (user_id from crm.booking.settings.list): whose slug event_type_slug is (default: the caller); with event_type_id it must be its owner.
event_type_idstringqueryopcional
The event type, from crm.booking.event_types.list (or pass event_type_slug).
event_type_slugstringqueryopcional
The event type's slug, unique per seller (instead of event_type_id).
fromintegerqueryopcional
Window start, epoch ms (default: now); next_from of the previous call to continue.
tointegerqueryopcional
Window end, epoch ms (default: from + 14 days; at most 31 days).
time_zonestringqueryopcional
The booker's IANA time zone for start_local (default: the seller's).
limitintegerqueryopcional
Slots per call, 1 to 500 (default 100).
Padrão: 100
Resposta
vendor_user_idstring
event_typeobject
vendor_time_zonestring
time_zonestring
fromnumber
tonumber
calendar_connectedboolean
slotsarray<object>
has_moreboolean
More free slots after the last one in the window: call again with from = next_from.
next_fromnumber
With has_more: the from of the next call (just after the last slot).
Com uma API key de teste o pedido vai sempre para a sua organização de prática: dados de exemplo que você pode reiniciar.Na prática esta operação não é simulada (usa outra plataforma): responde 409 sandbox_external_unavailable.