naftiko: 1.0.0-alpha2 info: label: Cvent REST APIs — Appointments description: 'Cvent REST APIs — Appointments. 16 operations. Lead operation: List Appt Attendees. Self-contained Naftiko capability covering one business surface.' tags: - Cvent - Appointments created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: CVENT_API_KEY: CVENT_API_KEY capability: consumes: - type: http namespace: rest-appointments baseUri: https://api-platform.cvent.com/ea description: Cvent REST APIs — Appointments business capability. Self-contained, no shared references. resources: - name: appointment-attendees path: /appointment-attendees operations: - name: listappointmentattendees method: GET description: List Appt Attendees outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. There are six c' - name: appointment-attendees-id path: /appointment-attendees/{id} operations: - name: getappointmentattendeebyid method: GET description: Get Appt Attendee outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: appointment-availability-times path: /appointment-availability-times operations: - name: listavailability method: GET description: List Availability outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. There are six c' - name: appointment-availability-times-id path: /appointment-availability-times/{id} operations: - name: getavailabilitybyid method: GET description: Get Availability outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: appointment-events path: /appointment-events operations: - name: listappointmentevents method: GET description: List Appt Events outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. There are six c' - name: appointment-events-id path: /appointment-events/{id} operations: - name: getappointmenteventbyid method: GET description: Get Appt Event outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: appointment-events-id-appointment-available-times path: /appointment-events/{id}/appointment-available-times operations: - name: listavailabletimes method: GET description: List Available Times outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. There are six c' - name: id in: path type: string description: Path parameter id. required: true - name: appointment-events-id-appointment-types path: /appointment-events/{id}/appointment-types operations: - name: listappointmenttypes method: GET description: List Appointment Types outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: appointment-events-id-appointments path: /appointment-events/{id}/appointments operations: - name: createappointment method: POST description: Create Appointment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: appointment-events-id-appointments-apptid path: /appointment-events/{id}/appointments/{apptId} operations: - name: updateappointment method: PUT description: Update Appointments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apptId in: path type: string description: Path parameter apptId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: cancelappointment method: DELETE description: Cancel Appointment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apptId in: path type: string description: Path parameter apptId. required: true - name: id in: path type: string description: Path parameter id. required: true - name: appointment-events-id-locations path: /appointment-events/{id}/locations operations: - name: listlocations method: GET description: List Locations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: appointment-meeting-interests path: /appointment-meeting-interests operations: - name: listmeetinginterests method: GET description: List Interests outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. There are six c' - name: appointment-meeting-interests-id path: /appointment-meeting-interests/{id} operations: - name: getmeetinginterestbyid method: GET description: Get Interest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true - name: appointments path: /appointments operations: - name: listappointments method: GET description: List Appointments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: 'A filter query string narrows search results and supports the combination of logical and comparison operators. The filter adheres to the pattern filter=''field'' comparisonType ''value''. There are six c' - name: appointments-id path: /appointments/{id} operations: - name: getappointmentbyid method: GET description: Get Appointment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Path parameter id. required: true exposes: - type: rest namespace: rest-appointments-rest port: 8080 description: REST adapter for Cvent REST APIs — Appointments. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/appointment-attendees name: appointment-attendees description: REST surface for appointment-attendees. operations: - method: GET name: listappointmentattendees description: List Appt Attendees call: rest-appointments.listappointmentattendees with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/appointment-attendees/{id} name: appointment-attendees-id description: REST surface for appointment-attendees-id. operations: - method: GET name: getappointmentattendeebyid description: Get Appt Attendee call: rest-appointments.getappointmentattendeebyid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-availability-times name: appointment-availability-times description: REST surface for appointment-availability-times. operations: - method: GET name: listavailability description: List Availability call: rest-appointments.listavailability with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/appointment-availability-times/{id} name: appointment-availability-times-id description: REST surface for appointment-availability-times-id. operations: - method: GET name: getavailabilitybyid description: Get Availability call: rest-appointments.getavailabilitybyid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-events name: appointment-events description: REST surface for appointment-events. operations: - method: GET name: listappointmentevents description: List Appt Events call: rest-appointments.listappointmentevents with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/appointment-events/{id} name: appointment-events-id description: REST surface for appointment-events-id. operations: - method: GET name: getappointmenteventbyid description: Get Appt Event call: rest-appointments.getappointmenteventbyid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-events/{id}/appointment-available-times name: appointment-events-id-appointment-available-times description: REST surface for appointment-events-id-appointment-available-times. operations: - method: GET name: listavailabletimes description: List Available Times call: rest-appointments.listavailabletimes with: filter: rest.filter id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-events/{id}/appointment-types name: appointment-events-id-appointment-types description: REST surface for appointment-events-id-appointment-types. operations: - method: GET name: listappointmenttypes description: List Appointment Types call: rest-appointments.listappointmenttypes with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-events/{id}/appointments name: appointment-events-id-appointments description: REST surface for appointment-events-id-appointments. operations: - method: POST name: createappointment description: Create Appointment call: rest-appointments.createappointment with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/appointment-events/{id}/appointments/{apptId} name: appointment-events-id-appointments-apptid description: REST surface for appointment-events-id-appointments-apptid. operations: - method: PUT name: updateappointment description: Update Appointments call: rest-appointments.updateappointment with: apptId: rest.apptId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: cancelappointment description: Cancel Appointment call: rest-appointments.cancelappointment with: apptId: rest.apptId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-events/{id}/locations name: appointment-events-id-locations description: REST surface for appointment-events-id-locations. operations: - method: GET name: listlocations description: List Locations call: rest-appointments.listlocations with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointment-meeting-interests name: appointment-meeting-interests description: REST surface for appointment-meeting-interests. operations: - method: GET name: listmeetinginterests description: List Interests call: rest-appointments.listmeetinginterests with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/appointment-meeting-interests/{id} name: appointment-meeting-interests-id description: REST surface for appointment-meeting-interests-id. operations: - method: GET name: getmeetinginterestbyid description: Get Interest call: rest-appointments.getmeetinginterestbyid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/appointments name: appointments description: REST surface for appointments. operations: - method: GET name: listappointments description: List Appointments call: rest-appointments.listappointments with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/appointments/{id} name: appointments-id description: REST surface for appointments-id. operations: - method: GET name: getappointmentbyid description: Get Appointment call: rest-appointments.getappointmentbyid with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: rest-appointments-mcp port: 9090 transport: http description: MCP adapter for Cvent REST APIs — Appointments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: cvent-listappointmentattendees description: List Appt Attendees hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listappointmentattendees with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-getappointmentattendeebyid description: Get Appt Attendee hints: readOnly: true destructive: false idempotent: true call: rest-appointments.getappointmentattendeebyid with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listavailability description: List Availability hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listavailability with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-getavailabilitybyid description: Get Availability hints: readOnly: true destructive: false idempotent: true call: rest-appointments.getavailabilitybyid with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listappointmentevents description: List Appt Events hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listappointmentevents with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-getappointmenteventbyid description: Get Appt Event hints: readOnly: true destructive: false idempotent: true call: rest-appointments.getappointmenteventbyid with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listavailabletimes description: List Available Times hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listavailabletimes with: filter: tools.filter id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listappointmenttypes description: List Appointment Types hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listappointmenttypes with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-createappointment description: Create Appointment hints: readOnly: false destructive: false idempotent: false call: rest-appointments.createappointment with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cvent-updateappointment description: Update Appointments hints: readOnly: false destructive: false idempotent: true call: rest-appointments.updateappointment with: apptId: tools.apptId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cvent-cancelappointment description: Cancel Appointment hints: readOnly: false destructive: true idempotent: true call: rest-appointments.cancelappointment with: apptId: tools.apptId id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listlocations description: List Locations hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listlocations with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listmeetinginterests description: List Interests hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listmeetinginterests with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-getmeetinginterestbyid description: Get Interest hints: readOnly: true destructive: false idempotent: true call: rest-appointments.getmeetinginterestbyid with: id: tools.id outputParameters: - type: object mapping: $. - name: cvent-listappointments description: List Appointments hints: readOnly: true destructive: false idempotent: true call: rest-appointments.listappointments with: filter: tools.filter outputParameters: - type: object mapping: $. - name: cvent-getappointmentbyid description: Get Appointment hints: readOnly: true destructive: false idempotent: true call: rest-appointments.getappointmentbyid with: id: tools.id outputParameters: - type: object mapping: $.