naftiko: 1.0.0-alpha2 info: label: AppConnect V3 — Events description: 'AppConnect V3 — Events. 11 operations. Lead operation: GET a collection of events.. Self-contained Naftiko capability covering one Constant Contact business surface.' tags: - Constant Contact - Events created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CONSTANT_CONTACT_API_KEY: CONSTANT_CONTACT_API_KEY capability: consumes: - type: http namespace: v3-events baseUri: https://api.cc.email/v3 description: AppConnect V3 — Events business capability. Self-contained, no shared references. resources: - name: events path: /events operations: - name: findevents method: GET description: GET a collection of events. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_status in: query type: string description: Use to return only events that meet the specified status. Acceptable values include `ACTIVE`,`DRAFT`, `COMPLETE`, `DELETED`,`CANCELLED`, and `ERROR`. - name: search_text in: query type: string description: Use to return only events that include the specified text. - name: sort_by in: query type: string description: 'Use to sort resulting events by one of the following properties: `name`, `start_time`, `end_time`, `created_time`, or `updated_time`.' - name: sort_order in: query type: string description: Sort order for the `sort_by parameter`. Accepted values include `ASC` (ascending) or `DESC` (descending). Defaults to `ASC` if `sort_by` is provided. - name: limit in: query type: string description: Limit the number of results to return per page. Default and maximum is `100`. - name: prev in: query type: string description: Cursor for retrieving the previous page of results. This value is obtained from the `prev_cursor` field in a previous response. - name: next in: query type: string description: Cursor for retrieving the next page of results. This value is obtained from the `next_cursor` field in a previous response. - name: events-default path: /events/default operations: - name: adddefaultevent method: POST description: POST (create) a new event. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name for the new event. If not provided, a default name will be generated. - name: start_time in: query type: string description: Event start time in ISO 8601 format. If not provided, defaults to a future date. - name: end_time in: query type: string description: Event end time in ISO 8601 format. If not provided, defaults to one hour after start time. - name: placeholder_campaign_id in: query type: string description: Placeholder campaign ID for the event. - name: events-event_id path: /events/{event_id} operations: - name: getevent2 method: GET description: GET details for a single event. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: include in: query type: boolean description: Use to include (`true`) or exclude (`false`) event setting properties in the results. - name: patchevent method: PATCH description: PATCH (update) an event. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event to update. required: true - name: body in: body type: string description: A JSON request body containing the event fields to update. required: true - name: events-event_id-check_in-tickets path: /events/{event_id}/check_in/tickets operations: - name: checkintickets method: POST description: Check in event tickets. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: body in: body type: string description: Set of order ticket keys to mark as checked in. required: true - name: events-event_id-copy path: /events/{event_id}/copy operations: - name: copyevent method: POST description: POST (copy) an existing event. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID of the event to copy. required: true - name: body in: body type: string description: A JSON request body containing the copy options. required: true - name: events-event_id-tracks-track_id-registrations path: /events/{event_id}/tracks/{track_id}/registrations operations: - name: findregistrationsusingget method: GET description: Get a list of registrations for an event. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: track_id in: path type: string description: The track ID that uniquely identifies the event track. required: true - name: registration_status in: query type: string description: Filter registration results by status. - name: payment_status in: query type: string description: Filter registration results by payment status. - name: search_text in: query type: string description: Filter registration results by first name, last name, or email address. - name: sort_by in: query type: string description: Specify the field to use to sort the results. - name: sort_order in: query type: string description: Use to specify how you want the results sorted. - name: page_size in: query type: string description: Alternative to the limit parameter to limit the number of results returned per page. If specifying both the limit and page_size< - name: limit in: query type: string description: Limit the number of results returned per page. If specifying both the limit and page_size query parameters, they must be the same valu - name: prev in: query type: string description: Cursor for pagination used to get the previous page of results (mutually exclusive with next). - name: next in: query type: string description: Cursor for pagination used to get the next page of results (mutually exclusive with prev). - name: updateregistrationstatususingput method: PUT description: Update status for event registrations. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: track_id in: path type: string description: The track key that uniquely identifies the event track. required: true - name: increase_count in: query type: boolean description: Override count flag. - name: increase_item_count in: query type: boolean description: Override item count flag. - name: return_items_to_inventory in: query type: boolean description: Return items to inventory flag. Defaults to `true`. - name: body in: body type: string description: Registration status update request data. required: true - name: events-event_id-tracks-track_id-registrations-payment_status path: /events/{event_id}/tracks/{track_id}/registrations/payment_status operations: - name: updateregistrationpaymentstatususingput method: PUT description: Update payment status for event registrations. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: track_id in: path type: string description: The track key that uniquely identifies the event track. required: true - name: body in: body type: string description: Payment status update request data. required: true - name: events-event_id-tracks-track_id-registrations-registration_id path: /events/{event_id}/tracks/{track_id}/registrations/{registration_id} operations: - name: getregistrationinfo method: GET description: Get registration details for an event. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: track_id in: path type: string description: The track key that uniquely identifies the event track. required: true - name: registration_id in: path type: string description: The ID that uniquely identifies the registration. required: true - name: events-event_id-undo_check_in-tickets path: /events/{event_id}/undo_check_in/tickets operations: - name: undocheckintickets method: POST description: Undo event ticket check-in. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_id in: path type: string description: The ID that uniquely identifies the event. required: true - name: body in: body type: string description: Set of order ticket keys to mark as not checked in. required: true exposes: - type: rest namespace: v3-events-rest port: 8080 description: REST adapter for AppConnect V3 — Events. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/events name: events description: REST surface for events. operations: - method: GET name: findevents description: GET a collection of events. call: v3-events.findevents with: event_status: rest.event_status search_text: rest.search_text sort_by: rest.sort_by sort_order: rest.sort_order limit: rest.limit prev: rest.prev next: rest.next outputParameters: - type: object mapping: $. - path: /v1/events/default name: events-default description: REST surface for events-default. operations: - method: POST name: adddefaultevent description: POST (create) a new event. call: v3-events.adddefaultevent with: name: rest.name start_time: rest.start_time end_time: rest.end_time placeholder_campaign_id: rest.placeholder_campaign_id outputParameters: - type: object mapping: $. - path: /v1/events/{event-id} name: events-event-id description: REST surface for events-event_id. operations: - method: GET name: getevent2 description: GET details for a single event. call: v3-events.getevent2 with: event_id: rest.event_id include: rest.include outputParameters: - type: object mapping: $. - method: PATCH name: patchevent description: PATCH (update) an event. call: v3-events.patchevent with: event_id: rest.event_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/events/{event-id}/check-in/tickets name: events-event-id-check-in-tickets description: REST surface for events-event_id-check_in-tickets. operations: - method: POST name: checkintickets description: Check in event tickets. call: v3-events.checkintickets with: event_id: rest.event_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/events/{event-id}/copy name: events-event-id-copy description: REST surface for events-event_id-copy. operations: - method: POST name: copyevent description: POST (copy) an existing event. call: v3-events.copyevent with: event_id: rest.event_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/events/{event-id}/tracks/{track-id}/registrations name: events-event-id-tracks-track-id-registrations description: REST surface for events-event_id-tracks-track_id-registrations. operations: - method: GET name: findregistrationsusingget description: Get a list of registrations for an event. call: v3-events.findregistrationsusingget with: event_id: rest.event_id track_id: rest.track_id registration_status: rest.registration_status payment_status: rest.payment_status search_text: rest.search_text sort_by: rest.sort_by sort_order: rest.sort_order page_size: rest.page_size limit: rest.limit prev: rest.prev next: rest.next outputParameters: - type: object mapping: $. - method: PUT name: updateregistrationstatususingput description: Update status for event registrations. call: v3-events.updateregistrationstatususingput with: event_id: rest.event_id track_id: rest.track_id increase_count: rest.increase_count increase_item_count: rest.increase_item_count return_items_to_inventory: rest.return_items_to_inventory body: rest.body outputParameters: - type: object mapping: $. - path: /v1/events/{event-id}/tracks/{track-id}/registrations/payment-status name: events-event-id-tracks-track-id-registrations-payment-status description: REST surface for events-event_id-tracks-track_id-registrations-payment_status. operations: - method: PUT name: updateregistrationpaymentstatususingput description: Update payment status for event registrations. call: v3-events.updateregistrationpaymentstatususingput with: event_id: rest.event_id track_id: rest.track_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/events/{event-id}/tracks/{track-id}/registrations/{registration-id} name: events-event-id-tracks-track-id-registrations-registration-id description: REST surface for events-event_id-tracks-track_id-registrations-registration_id. operations: - method: GET name: getregistrationinfo description: Get registration details for an event. call: v3-events.getregistrationinfo with: event_id: rest.event_id track_id: rest.track_id registration_id: rest.registration_id outputParameters: - type: object mapping: $. - path: /v1/events/{event-id}/undo-check-in/tickets name: events-event-id-undo-check-in-tickets description: REST surface for events-event_id-undo_check_in-tickets. operations: - method: POST name: undocheckintickets description: Undo event ticket check-in. call: v3-events.undocheckintickets with: event_id: rest.event_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: v3-events-mcp port: 9090 transport: http description: MCP adapter for AppConnect V3 — Events. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-collection-events description: GET a collection of events. hints: readOnly: true destructive: false idempotent: true call: v3-events.findevents with: event_status: tools.event_status search_text: tools.search_text sort_by: tools.sort_by sort_order: tools.sort_order limit: tools.limit prev: tools.prev next: tools.next outputParameters: - type: object mapping: $. - name: post-create-new-event description: POST (create) a new event. hints: readOnly: false destructive: false idempotent: false call: v3-events.adddefaultevent with: name: tools.name start_time: tools.start_time end_time: tools.end_time placeholder_campaign_id: tools.placeholder_campaign_id outputParameters: - type: object mapping: $. - name: get-details-single-event description: GET details for a single event. hints: readOnly: true destructive: false idempotent: true call: v3-events.getevent2 with: event_id: tools.event_id include: tools.include outputParameters: - type: object mapping: $. - name: patch-update-event description: PATCH (update) an event. hints: readOnly: false destructive: false idempotent: true call: v3-events.patchevent with: event_id: tools.event_id body: tools.body outputParameters: - type: object mapping: $. - name: check-event-tickets description: Check in event tickets. hints: readOnly: true destructive: false idempotent: false call: v3-events.checkintickets with: event_id: tools.event_id body: tools.body outputParameters: - type: object mapping: $. - name: post-copy-existing-event description: POST (copy) an existing event. hints: readOnly: false destructive: false idempotent: false call: v3-events.copyevent with: event_id: tools.event_id body: tools.body outputParameters: - type: object mapping: $. - name: get-list-registrations-event description: Get a list of registrations for an event. hints: readOnly: true destructive: false idempotent: true call: v3-events.findregistrationsusingget with: event_id: tools.event_id track_id: tools.track_id registration_status: tools.registration_status payment_status: tools.payment_status search_text: tools.search_text sort_by: tools.sort_by sort_order: tools.sort_order page_size: tools.page_size limit: tools.limit prev: tools.prev next: tools.next outputParameters: - type: object mapping: $. - name: update-status-event-registrations description: Update status for event registrations. hints: readOnly: false destructive: false idempotent: true call: v3-events.updateregistrationstatususingput with: event_id: tools.event_id track_id: tools.track_id increase_count: tools.increase_count increase_item_count: tools.increase_item_count return_items_to_inventory: tools.return_items_to_inventory body: tools.body outputParameters: - type: object mapping: $. - name: update-payment-status-event-registrations description: Update payment status for event registrations. hints: readOnly: false destructive: false idempotent: true call: v3-events.updateregistrationpaymentstatususingput with: event_id: tools.event_id track_id: tools.track_id body: tools.body outputParameters: - type: object mapping: $. - name: get-registration-details-event description: Get registration details for an event. hints: readOnly: true destructive: false idempotent: true call: v3-events.getregistrationinfo with: event_id: tools.event_id track_id: tools.track_id registration_id: tools.registration_id outputParameters: - type: object mapping: $. - name: undo-event-ticket-check description: Undo event ticket check-in. hints: readOnly: false destructive: false idempotent: false call: v3-events.undocheckintickets with: event_id: tools.event_id body: tools.body outputParameters: - type: object mapping: $.