Constant Contact · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for AppConnect V3 Events API
12 actions
12 updates
phrasing
extends
openapi/constant-contact-events-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Constant Contact's API. It is a proposal applied on top of the contract, not a document Constant Contact publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/events'].get
$.paths['/events/default'].post
$.paths['/events/{event_id}'].get
$.paths['/events/{event_id}'].patch
$.paths['/events/{event_id}/copy'].post
$.paths['/events/{event_id}/check_in/tickets'].post
$.paths['/events/{event_id}/undo_check_in/tickets'].post
$.paths['/events/{event_id}/tracks/{track_id}/registrations/{registration_id}'].get
$.paths['/events/{event_id}/tracks/{track_id}/registrations'].get
$.paths['/events/{event_id}/tracks/{track_id}/registrations'].put
$.paths['/events/{event_id}/tracks/{track_id}/registrations/payment_status'].put
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for AppConnect V3 Events API
version: 1.0.0
extends: openapi/constant-contact-events-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 11
- target: $.paths['/events'].get
update:
x-apievangelist-phrasing:
intent: List events
effect: read
questions:
- Which events do I have, and what's their status?
- Can I search my events by text and sort them?
instructions:
- text: List my events.
- text: Find events matching {search_text}.
slots:
search_text: query.search_text
- text: List events with status {event_status}.
slots:
event_status: query.event_status
method: generated
generated: '2026-10-01'
- target: $.paths['/events/default'].post
update:
x-apievangelist-phrasing:
intent: Create a draft event with defaults
effect: write
questions:
- Can I create an event that already has a registration form and landing page?
- What status does a newly created event start in?
instructions:
- text: Create an event called {name}.
slots:
name: query.name
- text: Create event {name} running {start_time} to {end_time}.
slots:
name: query.name
start_time: query.start_time
end_time: query.end_time
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one event's details
effect: read
questions:
- What are the details of a specific event?
- Can I include extra event data when fetching one event?
instructions:
- text: Show event {event_id}.
slots:
event_id: path.event_id
- text: Get event {event_id} including {include}.
slots:
event_id: path.event_id
include: query.include
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an event
effect: write
questions:
- Can I change an event's title or time after it's live?
- Why can't I edit an event that's complete or canceled?
instructions:
- text: Retitle event {event_id} to {title}.
slots:
event_id: path.event_id
title: requestBody.title
- text: Move event {event_id} to start {event_start} and end {event_end}.
slots:
event_id: path.event_id
event_start: requestBody.event_start
event_end: requestBody.event_end
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/copy'].post
update:
x-apievangelist-phrasing:
intent: Duplicate an existing event
effect: write
questions:
- Can I copy last year's event with its forms and landing page?
- Which event statuses can be copied?
instructions:
- text: Copy event {event_id} as {target_event_name}.
slots:
event_id: path.event_id
target_event_name: requestBody.target_event_name
- text: Duplicate event {event_id} into a new draft named {target_event_name}.
slots:
event_id: path.event_id
target_event_name: requestBody.target_event_name
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/check_in/tickets'].post
update:
x-apievangelist-phrasing:
intent: Check in event tickets
effect: write
questions:
- Can I mark attendees' tickets as checked in at the door?
- Why does checking in a canceled ticket fail?
instructions:
- text: Check in tickets {order_ticket_keys} for event {event_id}.
slots:
event_id: path.event_id
order_ticket_keys: requestBody.order_ticket_keys
- text: Mark tickets {order_ticket_keys} as arrived at event {event_id}.
slots:
event_id: path.event_id
order_ticket_keys: requestBody.order_ticket_keys
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/undo_check_in/tickets'].post
update:
x-apievangelist-phrasing:
intent: Undo ticket check-in
effect: write
questions:
- I checked in the wrong ticket — can I reverse it?
- Is it possible to mark a ticket as not checked in again?
instructions:
- text: Undo check-in of tickets {order_ticket_keys} for event {event_id}.
slots:
event_id: path.event_id
order_ticket_keys: requestBody.order_ticket_keys
- text: Reverse the check-in for {order_ticket_keys} at event {event_id}.
slots:
event_id: path.event_id
order_ticket_keys: requestBody.order_ticket_keys
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/tracks/{track_id}/registrations/{registration_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one event registration
effect: read
questions:
- What did a specific attendee submit when registering?
- Can I look up a single registration by its ID?
instructions:
- text: Show registration {registration_id} for event {event_id} track {track_id}.
slots:
event_id: path.event_id
track_id: path.track_id
registration_id: path.registration_id
- text: Get details of registrant {registration_id} in event {event_id}, track {track_id}.
slots:
event_id: path.event_id
track_id: path.track_id
registration_id: path.registration_id
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/tracks/{track_id}/registrations'].get
update:
x-apievangelist-phrasing:
intent: List registrations for an event
effect: read
questions:
- Who has registered for my event?
- Can I filter registrations by payment status or registration status?
instructions:
- text: List registrations for event {event_id} track {track_id}.
slots:
event_id: path.event_id
track_id: path.track_id
- text: List unpaid registrations with status {payment_status} for event {event_id}, track {track_id}.
slots:
event_id: path.event_id
track_id: path.track_id
payment_status: query.payment_status
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/tracks/{track_id}/registrations'].put
update:
x-apievangelist-phrasing:
intent: Change the status of event registrations
effect: write
questions:
- Can I cancel or approve several registrations at once?
- When I cancel registrations, can the tickets go back into inventory?
instructions:
- text: Set registrations {registration_ids} in event {event_id} track {track_id} to {registration_status}.
slots:
event_id: path.event_id
track_id: path.track_id
registration_ids: requestBody.registration_ids
registration_status: requestBody.registration_status
- text: Change registration status to {registration_status} for {registration_ids} on event {event_id}, track {track_id}.
slots:
event_id: path.event_id
track_id: path.track_id
registration_status: requestBody.registration_status
registration_ids: requestBody.registration_ids
method: generated
generated: '2026-10-01'
- target: $.paths['/events/{event_id}/tracks/{track_id}/registrations/payment_status'].put
update:
x-apievangelist-phrasing:
intent: Update payment status for registrations
effect: write
questions:
- Can I mark registrations as paid after taking cash at the door?
- Why weren't my free registrations updated when I changed payment status?
instructions:
- text: Mark registrations {registration_ids} for event {event_id} track {track_id} as {payment_status}.
slots:
event_id: path.event_id
track_id: path.track_id
registration_ids: requestBody.registration_ids
payment_status: requestBody.payment_status
- text: Set payment status {payment_status} on registrations {registration_ids} in event {event_id}, track {track_id}.
slots:
event_id: path.event_id
track_id: path.track_id
payment_status: requestBody.payment_status
registration_ids: requestBody.registration_ids
method: generated
generated: '2026-10-01'