# Etermin — how to use (mcp.ai)

Connect your Etermin account and use 78 tools for scheduling and booking straight from your AI agent. Connect with your own API key. eTermin is an online appointment scheduling platform that allows businesses to manage bookings and integrate with various applications through its REST API.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_etermin?ms=1787293320000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `etermin_assign_calendar_service`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/etermin`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/etermin/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/etermin/assign/calendar/service` — Tool to assign a service to a calendar in eTermin. Use when you need to link a specific service to a calendar/employee resource, making the service available for that calendar.
  - body: { serviceid: string, calendarid: string }
- `POST https://api.mcp.ai/api/etermin/create/absence` — Tool to create an absence (non-working time) for a specific calendar. Use when you need to block time on a calendar for unavailability such as vacations, sick leave, or other non-working periods.
  - body: { nwtype?: boolean, reason?: string, enddate: string, startdate: string, dynamicdays?: integer, appcalendarid: integer, dynamicdaysduration?: integer }
- `POST https://api.mcp.ai/api/etermin/create/anchortime` — Tool to create anchortimes (recurring time slots) in a calendar. Use when you need to define regular appointment availability.
  - body: { weekday: integer, starttime: string, calendarid: integer, ignoreonceappbooked: boolean }
- `POST https://api.mcp.ai/api/etermin/create/anchortime/by/date` — Tool to create anchortimes by date. Use when you need to block specific time slots on a calendar. Anchortimes define blocked periods for calendar scheduling where appointments cannot be booked.
  - body: { reason?: string, startdate: string, calendarid: integer, ignoreonceappbooked: boolean }
- `POST https://api.mcp.ai/api/etermin/create/appointment` — Tool to create a new appointment in eTermin. Use when you need to schedule an appointment with specific start/end times and calendar. Requires at minimum the start time, end time, and calendar ID. Opt
  - body: { end: string, lnm?: integer, sms?: boolean, vat?: integer, zip?: string, city?: string, sync?: boolean, email?: string, notes?: string, phone?: string, start: string, title?: string, emailm?: integer, street?: string, capused?: boolean, birthday?: string, calselid?: integer, capacity?: integer, language?: string, lastname?: string, location?: string, pricenet?: integer, services?: string, blacklist?: integer, firstname?: string, sendemail?: boolean, bookerinfo?: string, bookingurl?: string, calendarid: integer, capmaxused?: integer, checkexist?: boolean, newsletter?: boolean, pricegross?: integer, salutation?: string, additional1?: string, additional2?: string, additional3?: string, additional4?: string, additional5?: string, additional6?: string, additional7?: string, additional8?: string, additional9?: string, agbaccepted?: boolean, bookingtype?: string, confirmtime?: integer, servicesabb?: string, additional10?: string, additional11?: string, additional12?: string, additional13?: string, additional14?: string, additional15?: string, additional16?: string, additional17?: string, additional18?: string, additional19?: string, additional20?: string, calendarname?: string, servicestext?: string, canceldeadline?: integer, customernumber?: string, recurrencerule?: string, manualconfirmed?: integer, notificationmsg?: boolean, confirmappointment?: integer, recurrenceparentid?: string, servicesinclsgtext?: string, dataprivacyaccepted?: boolean, appointmentreminderhours?: integer, appointmentreminderhours2?: integer, feedbackpermissionaccepted?: boolean }
- `POST https://api.mcp.ai/api/etermin/create/appointment/sync` — Tool to create an appointment via sync in eTermin. Use when you need to synchronize an appointment from an external calendar system. Requires date/time in both local and UTC formats along with calenda
  - body: { end: string, email?: string, start: string, endutc: string, summary: string, location?: string, sequence?: string, startutc: string, sendemail?: boolean, calendarid: integer, description: string, appointmentid: string, recurrencerule?: string, recurrenceparentid?: string }
- `POST https://api.mcp.ai/api/etermin/create/calendar/return/time` — Tool to create a return time for a calendar. Use when scheduling recurring return times or availability windows for a specific weekday. Return times define when a calendar resource becomes available a
  - body: { newday: boolean, endtime: string, starttime: string, calendarid: integer, weekdayidx: integer }
- `POST https://api.mcp.ai/api/etermin/create/contact` — Tool to create a new contact in eTermin. Use when you need to add a contact before scheduling appointments.
  - body: { email: string, lastname: string, firstname: string }
- `POST https://api.mcp.ai/api/etermin/create/service` — Tool to create a new service in eTermin. Use when you need to add a service to a service group with specified duration and settings.
  - body: { PM0?: integer, PM1?: integer, PM2?: integer, vat?: integer, mpbs?: integer, ssca?: integer, tags?: string, image?: string, price?: number, rrule?: string, infode?: string, jscode?: string, wowing?: integer, cluster?: integer, enabled?: boolean, uselogo?: boolean, currency?: string, extramin?: integer, feedback?: integer, nrappsel?: integer, rangeend?: integer, showindb?: boolean, appattrib?: integer, appfuture?: integer, infotxtp2?: string, maxappsel?: integer, mstextpos?: integer, servicede: string, showavcap?: integer, sortorder?: integer, emailtxtde?: string, rangestart?: integer, showcalpic?: integer, startedapp?: integer, tagscancel?: string, addapphours?: integer, appdeadline?: integer, bookingtype?: integer, emailsender?: string, infodisplay?: integer, maxcapacity?: number, maxminslots?: boolean, notearlyapp?: integer, showcalname?: integer, waitinglist?: integer, abbreviation?: string, capseltextde?: string, extramintype?: integer, limitbooking?: integer, limitservice?: integer, priceinfopos?: integer, showinternal?: boolean, voucherfield?: integer, workloadperc?: integer, bookingminute?: integer, pricesuffixde?: string, reminderhours?: integer, canceldeadline?: integer, capacitynonsel?: number, enablecapacity?: boolean, hideserviceids?: string, issubscription?: boolean, reminderhours2?: integer, servicegroupid: integer, showserviceids?: string, timeslotformat?: integer, calcdrivingtime?: integer, customerconfirm?: integer, infotextinslots?: boolean, multiservicemax?: integer, multiservicemin?: integer, multiservicesel?: boolean, paymentduration?: integer, pricediffperday?: boolean, smsconfirmation?: integer, timeslotminutes: integer, dayselectiontype?: integer, multiappointment?: integer, nrappseladjacent?: boolean, timeslotcombined?: integer, calendarselection?: integer, externalreference?: string, limitappointments?: integer, nrtimeslotentries?: integer, priceispercentage?: boolean, maxcapacityusersel?: number, vendorconfirmation?: integer, wowingautomationid?: integer, appointmentlocation?: integer, customerconfirmtime?: integer, showcapselectionbox?: boolean, allowonlythisservice?: boolean, fillcalendarstrategy?: integer, multiplypricewithcap?: boolean, nrappseladjacenttype?: integer, severalcalendarsused?: boolean, differenttimecombined?: boolean, differenttimeresource?: boolean, externalreferencedate?: string, limitappointmentstype?: integer, specificrangenextslot?: boolean, timeslotminutesresend?: integer, appointmentlocationtext?: string, externalreferencecancel?: string, externalreferencechange?: string, externalreferencedelete?: string, paymentamountisabsolute?: integer, paymentamountpercentage?: integer, timeslotminutesresstart?: integer, externalreferencecalname?: string, externalreferencelocation?: string, multiservicedurationcalcmethod?: integer }
- `POST https://api.mcp.ai/api/etermin/create/service/group` — Tool to create a new service group in eTermin. Use when you need to organize services into groups for better booking page structure. Service groups help categorize services and control how they are di
  - body: { enabled?: boolean, collapse?: boolean, showprice?: boolean, isoptional?: boolean, showtoggle?: boolean, showduration?: boolean, showinsummary?: boolean, servicegroupde?: string, answerselection?: string, additionaltextde?: string, nrservicecolumns?: integer, servicegrouptype?: string, addtextdisplaymode?: string, showwhencertainanswerselected?: string }
- `POST https://api.mcp.ai/api/etermin/create/user` — Tool to create a new user. Use when you need to add users to eTermin after collecting their details.
  - body: { role?: string, email: string, phone?: string, locale?: string, password: string, last_name: string, first_name: string }
- `POST https://api.mcp.ai/api/etermin/create/usermapping` — Tool to create a new usermapping in eTermin. Use when you need to map phone numbers or other values to specific calendars and service groups.
  - body: { value?: string, valueto?: integer, valuefrom?: integer, valuetype?: string, calendarid: integer, servicegroupid: integer }
- `POST https://api.mcp.ai/api/etermin/create/voucher` — Creates a new discount voucher in eTermin. Use this to set up promotional codes that customers can apply during booking. Supports both percentage and fixed amount discounts.
  - body: { code: string, type: string, discount: number, valid_to: string, valid_from: string }
- `POST https://api.mcp.ai/api/etermin/create/webhook` — Creates a webhook (web push notification) in eTermin to receive real-time updates about appointments. IMPORTANT: eTermin webhook configuration is typically managed through the web UI at API > API & We
  - body: { url: string, active?: boolean, format?: string, secretKey?: string, headerName?: string, headerValue?: string, use_form_encoding?: boolean }
- `POST https://api.mcp.ai/api/etermin/create/working/time` — Tool to create a new working time slot in eTermin. Use when defining available time slots for appointments on a calendar.
  - body: { end: string, start: string, enable?: integer, nrapps?: integer, weekday: string, slottype?: integer, weektype?: integer, calendarid: integer, locationid?: integer, calendarintervalid?: integer, validwithserviceid?: string, allserviceidsrequired?: integer }
- `POST https://api.mcp.ai/api/etermin/create/working/times/date` — Tool to create a working times date slot for a calendar. Use when you need to define available time slots for appointments.
  - body: { end: string, start: string, nrapps?: integer, oneoff?: boolean, reason?: string, slottype?: integer, calendarid: integer, locationid?: integer, oneoffcode?: string, waitinglist?: boolean, overwriteday?: boolean, validwithserviceid?: string, allserviceidsrequired?: integer }
- `POST https://api.mcp.ai/api/etermin/delete/absence` — Tool to delete an absence (non-working time) from a calendar. Use when you need to remove a blocked time period from a calendar's availability.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/etermin/delete/anchortime` — Delete an anchortime from eTermin by its ID. Use this when you need to permanently remove an anchortime entry from the system. Note: This action is irreversible.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/etermin/delete/anchortime/by/date` — Delete an anchortime by date using its ID. Use when you need to remove a specific anchortime entry by date. Returns a success indicator along with any error messages if the deletion fails.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/etermin/delete/appointment` — Delete an existing appointment by its ID. Use the GET appointments action first to retrieve valid appointment IDs. Returns a success indicator along with any error messages if the deletion fails.
  - body: { appointmentId: string }
- `POST https://api.mcp.ai/api/etermin/delete/appointment/sync` — Tool to delete appointments via the sync endpoint. Use when you need to delete one or more appointments by ID or date range. Provide either an appointmentid for single deletion, or start/end dates for
  - body: { end?: string, start?: string, appointmentid?: string }
- `POST https://api.mcp.ai/api/etermin/delete/calendar` — Delete a calendar from your eTermin account. Use this tool to permanently remove a calendar by its ID. The calendar and all associated data will be deleted. This operation is idempotent - deleting a n
  - body: { calendarId: string }
- `POST https://api.mcp.ai/api/etermin/delete/calendar/return/time` — Delete a return time from a calendar. Use when you need to remove a specific return time entry.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/etermin/delete/calendar/service` — Delete an assigned service from a calendar in eTermin. Use this action to remove a service assignment from a specific calendar by providing both the service assignment ID and the calendar ID. The dele
  - body: { id: string, calendarid: string }
- `POST https://api.mcp.ai/api/etermin/delete/contact` — Delete a contact from your eTermin account by its contact ID. Use this action when you need to permanently remove a contact from the system. The contact ID can be obtained using the Get Contacts actio
  - body: { contact_id: integer }
- `POST https://api.mcp.ai/api/etermin/delete/resource` — Delete an eTermin resource by type and ID. Supports deleting contacts, services, users, calendars, vouchers, and working times. The resource ID can be obtained from listing or creating resources.
  - body: { resource: string, resourceId: string }
- `POST https://api.mcp.ai/api/etermin/delete/service` — Permanently deletes a service from your eTermin account by its ID. Use this action to remove services that are no longer needed. The deletion is permanent and cannot be undone. Services with associate
  - body: { service_id: string }
- `POST https://api.mcp.ai/api/etermin/delete/servicegroup` — Delete a service group from your eTermin account by its ID. Use this action when you need to permanently remove a service group from the system. The deletion is permanent and cannot be undone.
  - body: { servicegroupid: integer }
- `POST https://api.mcp.ai/api/etermin/delete/user` — Deletes an existing user from the eTermin account. Use the get_users action first to retrieve the user ID. The deletion is idempotent - deleting a non-existent user will not cause an error.
  - body: { userId: string }
- `POST https://api.mcp.ai/api/etermin/delete/usermapping` — Delete a usermapping by its ID. Use this action when you need to remove a usermapping from the eTermin system.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/etermin/delete/voucher` — Permanently deletes a voucher from eTermin by its voucher code. The operation is idempotent - deleting a non-existent voucher will still return success. Use the List Vouchers action first to get valid
  - body: { voucherId: string }
- `POST https://api.mcp.ai/api/etermin/delete/webhook` — Delete an existing webhook by its unique identifier. Note: eTermin's webhook deletion endpoint is undocumented. This action attempts multiple candidate endpoints and returns a graceful message if webh
  - body: { webhookId: string }
- `POST https://api.mcp.ai/api/etermin/delete/working/times` — Tool to delete working times from a calendar. Use when removing time slots or clearing all working times from a calendar. If no specific working time ID is provided, all working slots for the calendar
  - body: { id?: integer, calendarid: integer }
- `POST https://api.mcp.ai/api/etermin/delete/working/times/date` — Tool to delete working times date entries from eTermin. Use when removing working time slots by calendar or specific ID. Provide either calendarid to delete all working slots for a calendar, or id to 
  - body: { id?: integer, calendarid?: integer }
- `POST https://api.mcp.ai/api/etermin/get/absences` — Tool to retrieve absences (non-working times) for a specific calendar. Use when you need to check when a calendar is unavailable for appointments.
  - body: { calendarid: integer }
- `POST https://api.mcp.ai/api/etermin/get/anchortime/date` — Tool to retrieve anchortimes by date. Use when you need to get existing anchortimes for calendars. Anchortimes define specific time slots or blocked periods for calendar scheduling.
  - body: { calendarid?: integer }
- `POST https://api.mcp.ai/api/etermin/get/anchortimes` — Tool to retrieve anchortime details. Use when you need to get anchortimes for calendars in your eTermin account.
  - body: { calendarid?: integer }
- `POST https://api.mcp.ai/api/etermin/get/appointment/sync` — Tool to synchronize appointments incrementally from eTermin. Use when you need to sync appointments using a sync token. For first sync, use synctoken=1. The API returns a new sync token in the respons
  - body: { synctoken: integer }
- `POST https://api.mcp.ai/api/etermin/get/bookingpage/logs` — Tool to retrieve bookingpage request logs from eTermin. Use when you need to analyze bookingpage access patterns and requests.
  - body: { datefrom: string, summaryonly?: boolean }
- `POST https://api.mcp.ai/api/etermin/get/calendar/return/time` — Tool to retrieve return times for a specific calendar. Use when you need to get the configured return time periods for a calendar.
  - body: { calendarid: integer }
- `POST https://api.mcp.ai/api/etermin/get/calendars` — Tool to retrieve calendars. Use when listing all calendars in your eTermin account.
- `POST https://api.mcp.ai/api/etermin/get/calendarservice` — Tool to retrieve calendar service assignments. Use when you need to get services assigned to calendars in your eTermin account.
  - body: { calendarid?: string }
- `POST https://api.mcp.ai/api/etermin/get/company` — Tool to retrieve company account details. Use when you need to get all company information from your eTermin account.
- `POST https://api.mcp.ai/api/etermin/get/contact/by/id` — Tool to retrieve a specific contact by ID, external ID, or email. Use when you need to get details of a single contact from eTermin. Provide at least one of: cid (internal ID), id (external UUID), or 
  - body: { id?: string, cid?: integer, email?: string, creationdate?: string, creationdateall?: string }
- `POST https://api.mcp.ai/api/etermin/get/contacts` — Tool to retrieve a list of contacts. Use when you need to list all contacts in your eTermin account.
- `POST https://api.mcp.ai/api/etermin/get/deleted/appointments` — Tool to retrieve a list of deleted appointments from eTermin. Use when you need to track or audit deleted appointments, optionally filtered by deletion date range. Returns details including who delete
  - body: { end?: string, start?: string }
- `POST https://api.mcp.ai/api/etermin/get/message/logs` — Tool to retrieve message logs from eTermin. Use when you need to view emails and SMS that have been sent through the system. Returns details about sent messages including receiver, subject, date sent,
  - body: { id?: integer, appid?: integer, smsonly?: boolean }
- `POST https://api.mcp.ai/api/etermin/get/rating` — Tool to retrieve a list of customer ratings from eTermin. Use when you need to get feedback and ratings from customers for appointments. Returns rating details including customer feedback, rating scor
- `POST https://api.mcp.ai/api/etermin/get/service/by/id` — Tool to retrieve a specific service from eTermin. Use when you need to get service details by service ID.
  - body: { service_id?: integer }
- `POST https://api.mcp.ai/api/etermin/get/service/calendar` — Tool to retrieve calendars for a specific service ID. Use when you need to find which calendars are associated with a particular service.
  - body: { serviceid: string }
- `POST https://api.mcp.ai/api/etermin/get/servicegroup` — Tool to retrieve service group details from eTermin. Use when you need to list service groups or get specific service group information by ID or language.
  - body: { languageid?: string, servicegroupid?: integer }
- `POST https://api.mcp.ai/api/etermin/get/services` — Tool to retrieve a list of services. Use when you need to list available services in your eTermin account.
- `POST https://api.mcp.ai/api/etermin/get/survey/results` — Tool to retrieve survey results from eTermin. Use when you need to get customer feedback and survey responses. Returns survey questions, answers, timestamps, and associated calendar/employee informati
  - body: { date?: string, appid?: integer }
- `POST https://api.mcp.ai/api/etermin/get/timeslots` — Tool to retrieve available timeslots for a specific calendar on a given date. Use when you need to check booking availability for a particular calendar.
  - body: { date: string, calendarid: string }
- `POST https://api.mcp.ai/api/etermin/get/usermapping` — Tool to retrieve usermapping information. Use when you need to get usermapping details or validate number search values.
  - body: { searchvalue?: integer }
- `POST https://api.mcp.ai/api/etermin/get/users` — Tool to retrieve a list of users. Use when you need to list all users in your eTermin account.
- `POST https://api.mcp.ai/api/etermin/get/working/times` — Tool to retrieve working times for a specific calendar. Use when confirming available time slots before booking appointments.
  - body: { calendarid: integer }
- `POST https://api.mcp.ai/api/etermin/get/working/times/date` — Tool to retrieve working times for a specific calendar on a specific date. Use when checking available time slots for a particular date before booking appointments.
  - body: { calendarid: integer }
- `POST https://api.mcp.ai/api/etermin/list/appointments` — Tool to retrieve a filtered list of appointments from eTermin in a specified date range. Use when you need to search for appointments by date range, calendar, customer, or other criteria. Returns appo
  - body: { id?: string, wl?: boolean, cid?: integer, end?: string, pbl?: boolean, appid?: integer, email?: string, start?: string, limited?: boolean, calendarid?: string, noholidays?: boolean, noholidays2?: boolean, bycreationdate?: boolean }
- `POST https://api.mcp.ai/api/etermin/list/vouchers` — Retrieve all vouchers (discount codes) from your eTermin account. Use this tool when you need to: - View all active and expired vouchers - Check voucher usage statistics (ContingentCounter vs Continge
- `POST https://api.mcp.ai/api/etermin/list/webhooks` — Tool to retrieve webhooks. Use when listing all webhooks in your eTermin account.
- `POST https://api.mcp.ai/api/etermin/put/service` — Tool to update a service in eTermin. Use when you need to modify service settings or configuration.
  - body: { id: integer, PM0?: integer, PM1?: integer, PM2?: integer, vat?: integer, mpbs?: integer, ssca?: integer, tags?: string, image?: string, price?: number, rrule?: string, infode?: string, jscode?: string, wowing?: integer, cluster?: integer, enabled?: boolean, uselogo?: boolean, currency?: string, extramin?: integer, feedback?: integer, nrappsel?: integer, rangeend?: integer, showindb?: boolean, appattrib?: integer, appfuture?: integer, infotxtp2?: string, maxappsel?: integer, mstextpos?: integer, servicede?: string, showavcap?: integer, sortorder?: integer, emailtxtde?: string, rangestart?: integer, showcalpic?: integer, startedapp?: integer, tagscancel?: string, addapphours?: integer, appdeadline?: integer, bookingtype?: integer, emailsender?: string, infodisplay?: integer, maxcapacity?: number, maxminslots?: boolean, notearlyapp?: integer, showcalname?: integer, waitinglist?: integer, abbreviation?: string, capseltextde?: string, extramintype?: integer, limitbooking?: integer, limitservice?: integer, priceinfopos?: integer, showinternal?: boolean, voucherfield?: integer, workloadperc?: integer, bookingminute?: integer, pricesuffixde?: string, reminderhours?: integer, canceldeadline?: integer, capacitynonsel?: number, enablecapacity?: boolean, hideserviceids?: string, issubscription?: boolean, reminderhours2?: integer, servicegroupid?: integer, showserviceids?: string, timeslotformat?: integer, calcdrivingtime?: integer, customerconfirm?: integer, infotextinslots?: boolean, multiservicemax?: integer, multiservicemin?: integer, multiservicesel?: boolean, paymentduration?: integer, pricediffperday?: boolean, smsconfirmation?: integer, timeslotminutes?: integer, dayselectiontype?: integer, multiappointment?: integer, nrappseladjacent?: boolean, timeslotcombined?: integer, calendarselection?: integer, externalreference?: string, limitappointments?: integer, nrtimeslotentries?: integer, priceispercentage?: boolean, maxcapacityusersel?: number, vendorconfirmation?: integer, wowingautomationid?: integer, appointmentlocation?: integer, customerconfirmtime?: integer, showcapselectionbox?: boolean, allowonlythisservice?: boolean, fillcalendarstrategy?: integer, multiplypricewithcap?: boolean, nrappseladjacenttype?: integer, severalcalendarsused?: boolean, differenttimecombined?: boolean, differenttimeresource?: boolean, externalreferencedate?: string, limitappointmentstype?: integer, specificrangenextslot?: boolean, timeslotminutesresend?: integer, appointmentlocationtext?: string, externalreferencecancel?: string, externalreferencechange?: string, externalreferencedelete?: string, paymentamountisabsolute?: integer, paymentamountpercentage?: integer, timeslotminutesresstart?: integer, externalreferencecalname?: string, externalreferencelocation?: string, multiservicedurationcalcmethod?: integer }
- `POST https://api.mcp.ai/api/etermin/update/absence` — Tool to update an absence (non-working time) for a calendar in eTermin. Use when you need to modify an existing absence's dates, reason, or settings.
  - body: { id: integer, nwtype?: boolean, reason?: string, enddate?: string, startdate?: string, dynamicdays?: integer, appcalendarid?: integer }
- `POST https://api.mcp.ai/api/etermin/update/anchortime` — Update an existing anchortime in eTermin. Use this to modify anchortime settings such as start time, weekday, calendar assignment, or booking ignore behavior. The anchortime ID must be provided to ide
  - body: { id: integer, weekday?: integer, starttime?: string, calendarId?: integer, ignoreonceappbooked?: boolean }
- `POST https://api.mcp.ai/api/etermin/update/anchortime/by/date` — Tool to update anchortimes by date in eTermin. Use when you need to modify an existing anchortime's schedule. Anchortimes define recurring time slots for appointments on specific dates.
  - body: { id: integer, reason?: string, startdate: string, calendarid: integer, ignoreonceappbooked: boolean }
- `POST https://api.mcp.ai/api/etermin/update/appointment` — Tool to update an existing appointment in eTermin. Use when you need to modify appointment details such as date/time, customer information, or service details. Only the appointment ID is required; pro
  - body: { id: string, end?: string, vat?: integer, zip?: string, city?: string, sync?: boolean, email?: string, notes?: string, phone?: string, start?: string, title?: string, street?: string, msgtype?: boolean, capacity?: integer, lastname?: string, location?: string, pricenet?: integer, services?: string, firstname?: string, sendemail?: boolean, calendarid?: integer, pricegross?: integer, salutation?: string, additional1?: string, additional2?: string, additional3?: string, additional4?: string, additional5?: string, additional6?: string, additional7?: string, additional8?: string, additional9?: string, servicesabb?: string, additional10?: string, additional11?: string, additional12?: string, additional13?: string, additional14?: string, additional15?: string, additional16?: string, additional17?: string, additional18?: string, additional19?: string, additional20?: string, calendarname?: string, servicestext?: string, canceldeadline?: integer, customernumber?: string, recurrencerule?: string, manualconfirmed?: integer, notificationmsg?: boolean, linkedappidmanual?: integer, servicesinclsgtext?: string, appointmentreminderhours?: integer, appointmentreminderhours2?: integer }
- `POST https://api.mcp.ai/api/etermin/update/calendar` — Update an existing calendar in eTermin. Use this tool to modify calendar settings such as name, description, capacity settings, and other configuration options. You must provide the calendar_id obtain
  - body: { enabled?: boolean, calendarId: string, maxCapacity?: integer, minCapacity?: integer, calendarName?: string, descriptionDE?: string, descriptionEN?: string, enableCapacity?: boolean, timeSlotMinutes?: integer, externalReference?: string }
- `POST https://api.mcp.ai/api/etermin/update/calendar/return/time` — Tool to update a return time for a calendar in eTermin. Use when modifying existing return time settings such as start time, end time, weekday, or overnight settings.
  - body: { id: integer, newday?: boolean, endtime?: string, starttime?: string, calendarid?: integer, weekdayidx?: integer }
- `POST https://api.mcp.ai/api/etermin/update/contact` — Tool to update an existing contact in eTermin. Use when you need to modify contact details by ID after confirming it exists.
  - body: { email?: string, lastname?: string, firstname?: string, contact_id: integer }
- `POST https://api.mcp.ai/api/etermin/update/resource` — Update an existing eTermin resource (contact, service, calendar, user, or voucher). The eTermin API requires PUT requests to the collection endpoint with form-urlencoded data including the resource ID
  - body: { data: object, resource: string, resourceId: string }
- `POST https://api.mcp.ai/api/etermin/update/service` — Tool to update an existing service. Use when you need to modify service details after confirming the service ID.
  - body: { name?: string, price?: number, duration?: integer, service_id: string, description?: string, servicegroupid?: integer }
- `POST https://api.mcp.ai/api/etermin/update/service/group` — Tool to update an existing service group in eTermin. Use when you need to modify service group properties such as name, display settings, or selection behavior.
  - body: { regex?: string, enabled?: boolean, pageidx?: integer, collapse?: boolean, showprice?: boolean, errormsgde?: string, isoptional?: boolean, showtoggle?: boolean, selminprice?: integer, showimgfull?: boolean, displayindex: integer, showduration?: boolean, showinsummary?: boolean, selminduration?: integer, servicegroupde?: string, servicegroupid: integer, answerselection?: integer, answersortorder?: integer, additionaltextde?: string, nrservicecolumns?: integer, servicegrouptype?: integer, countrylimitation?: string, addtextdisplaymode?: integer, showinemailsummary?: boolean, showwhencertainanswerselected?: string }
- `POST https://api.mcp.ai/api/etermin/update/sync/appointment` — Tool to update a synchronised appointment in eTermin. Use when you need to modify an existing synced appointment with updated date/time, location, or other details. Requires the appointment ID (Extern
  - body: { end: string, email?: string, start: string, endutc: string, summary: string, location?: string, sequence?: string, startutc: string, calendarid: integer, description: string, appointmentid: string, recurrencerule?: string, recurrenceparentid?: string }
- `POST https://api.mcp.ai/api/etermin/update/usermapping` — Update an existing usermapping in eTermin. Use this when you need to modify usermapping search criteria, calendar assignments, or service group mappings.
  - body: { id: integer, value?: integer, valueto?: integer, valuefrom?: integer, valuetype: string, calendarid?: string, servicegroupid?: string }
- `POST https://api.mcp.ai/api/etermin/update/voucher` — Updates an existing voucher in eTermin. Use this to modify voucher properties such as description, discount amount, validity dates, or usage limits. The voucher must already exist - use ETERMIN_CREATE
  - body: { data: object, voucherId: integer|string }
- `POST https://api.mcp.ai/api/etermin/update/webhook` — Update an existing webhook configuration in eTermin. Use this action to modify webhook settings such as the notification email, enable/disable web push notifications, or update the webhook endpoint UR
  - body: { data: object, webhookId: string }
- `POST https://api.mcp.ai/api/etermin/update/working/times` — Tool to update working times for a calendar in eTermin. Use when you need to modify existing working time slots, including their start/end times, weekdays, capacity limits, and other scheduling config
  - body: { id: integer, end?: string, start?: string, enable?: integer, nrapps?: integer, weekday?: string, slottype?: string, weektype?: string, calendarid?: integer, locationid?: integer, calendarintervalid?: integer, validwithserviceid?: string, allserviceidsrequired?: string }
- `POST https://api.mcp.ai/api/etermin/update/working/times/date` — Tool to update working times date for a calendar. Use when modifying existing working time slots for appointments.
  - body: { id: integer, end: string, start: string, nrapps?: integer, oneoff?: boolean, reason?: string, slottype?: integer, calendarid: integer, locationid?: integer, oneoffcode?: string, waitinglist?: boolean, overwriteday?: boolean, validwithserviceid?: string, allserviceidsrequired?: integer }

## Example prompts
- "What can I do in Etermin?"
- "Show me a summary of my Etermin account"

## More
- Page: https://mcp.ai/etermin
- Agent spec (llms.txt): https://mcp.ai/etermin/llms.txt
- Postman collection: https://mcp.ai/etermin/postman.json
