Cvent Registration · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Cvent Registration Contacts API
34 actions
34 updates
phrasing
extends
openapi/cvent-registration-contacts-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Cvent Registration's API. It is a proposal applied on top of the contract, not a document Cvent Registration publishes.
What the actions change
x-apievangelist-phrasing
Targets 34 · first 16 shown; the file carries all of them
$.info
$.paths['/ea/contacts'].get
$.paths['/ea/contacts'].post
$.paths['/ea/contacts/{contactId}'].get
$.paths['/ea/contacts/{contactId}'].put
$.paths['/ea/contacts/{contactId}'].delete
$.paths['/contact-groups'].get
$.paths['/contact-groups'].post
$.paths['/contact-groups/{id}'].get
$.paths['/contact-groups/{id}'].put
$.paths['/contact-groups/{id}'].delete
$.paths['/contact-groups/{id}/contacts'].get
$.paths['/contact-groups/{id}/contacts/{contactId}'].put
$.paths['/contact-groups/{id}/contacts/{contactId}'].delete
$.paths['/contact-types'].get
$.paths['/contacts'].get
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 Cvent Registration Contacts API
version: 1.0.0
extends: openapi/cvent-registration-contacts-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: 33
- target: $.paths['/ea/contacts'].get
update:
x-apievangelist-phrasing:
intent: List contacts through the /ea endpoint
effect: read
questions:
- How do I page through contacts on the /ea/contacts endpoint?
- Can I continue an /ea contact listing from a continuation token?
instructions:
- text: List /ea contacts, {limit} per page.
slots:
limit: query.limit
- text: Fetch the next page of /ea contacts with continuation token {token}.
slots:
token: query.token
method: generated
generated: '2026-10-01'
- target: $.paths['/ea/contacts'].post
update:
x-apievangelist-phrasing:
intent: Create a single contact through the /ea endpoint
effect: write
questions:
- How do I add one contact with name, email and company on the /ea endpoint?
- Can I include a phone number and address when creating an /ea contact?
instructions:
- text: Create an /ea contact {firstName} {lastName} with email {email}.
slots:
firstName: requestBody.firstName
lastName: requestBody.lastName
email: requestBody.email
- text: Add an /ea contact for {email} at {company} with phone {phone}.
slots:
email: requestBody.email
company: requestBody.company
phone: requestBody.phone
method: generated
generated: '2026-10-01'
- target: $.paths['/ea/contacts/{contactId}'].get
update:
x-apievangelist-phrasing:
intent: Get a contact from the /ea endpoint
effect: read
questions:
- How do I read one contact by ID from /ea/contacts?
- What name, email and company does an /ea contact record hold?
instructions:
- text: Get /ea contact {contactId}.
slots:
contactId: path.contactId
- text: Show the email and company of /ea contact {contactId}.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/ea/contacts/{contactId}'].put
update:
x-apievangelist-phrasing:
intent: Update a contact through the /ea endpoint
effect: write
questions:
- How do I change a contact's email or job title on the /ea endpoint?
- Can I update a contact's phone and address through /ea/contacts?
instructions:
- text: Update /ea contact {contactId} with email {email}.
slots:
contactId: path.contactId
email: requestBody.email
- text: Set /ea contact {contactId}'s title to {title} and phone to {phone}.
slots:
contactId: path.contactId
title: requestBody.title
phone: requestBody.phone
method: generated
generated: '2026-10-01'
- target: $.paths['/ea/contacts/{contactId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a contact through the /ea endpoint
effect: destructive
questions:
- How do I delete a contact using the /ea/contacts endpoint?
- Can a contact removed through /ea be brought back?
instructions:
- text: Delete /ea contact {contactId}.
slots:
contactId: path.contactId
- text: Permanently remove contact {contactId} via the /ea contacts endpoint.
slots:
contactId: path.contactId
method: generated
generated: '2026-10-01'
- target: $.paths['/contact-groups'].get
update:
x-apievangelist-phrasing:
intent: List contact groups
effect: read
questions:
- What contact groups exist in my Cvent address book?
- Can I list only the contact groups changed after a certain date?
instructions:
- text: List my contact groups.
- text: List contact groups matching {filter}.
slots:
filter: query.filter
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups'].post
update:
x-apievangelist-phrasing:
intent: Create a contact group
effect: write
questions:
- How do I set up a new contact group for a mailing or distribution list?
- Can a new contact group carry a short description and a note?
instructions:
- text: Create a contact group named {name} with ID {id}.
slots:
name: requestBody.name
id: requestBody.id
- text: Create contact group {name} (ID {id}) described as {shortDescription}.
slots:
name: requestBody.name
id: requestBody.id
shortDescription: requestBody.shortDescription
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a contact group
effect: read
questions:
- What are the details of one specific contact group?
- Where can I see a contact group's type and description?
instructions:
- text: Get contact group {id}.
slots:
id: path.id
- text: Show the name, type and description of contact group {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a contact group
effect: write
questions:
- How do I rename an existing contact group?
- Can I change the description on a contact group I already made?
instructions:
- text: Rename contact group {id} to {name}.
slots:
id: path.id
name: requestBody.name
- text: Update the description of contact group {id} to {description}.
slots:
id: path.id
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a contact group
effect: destructive
questions:
- How do I delete a contact group I no longer need?
- Can I remove a whole contact group by its ID?
instructions:
- text: Delete contact group {id}.
slots:
id: path.id
- text: Permanently remove the contact group with ID {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}/contacts'].get
update:
x-apievangelist-phrasing:
intent: List the contacts in a contact group
effect: read
questions:
- Which contacts belong to a given contact group?
- Can I get every member contact ID for one group?
instructions:
- text: List the contact IDs in contact group {id}.
slots:
id: path.id
- text: Show who is a member of contact group {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}/contacts/{contactId}'].put
update:
x-apievangelist-phrasing:
intent: Add a contact to a contact group
effect: write
questions:
- How do I put a contact into a contact group?
- Can I add a single person to an existing group?
instructions:
- text: Add contact {contactId} to contact group {id}.
slots:
contactId: path.contactId
id: path.id
- text: Put contact {contactId} in group {id}.
slots:
contactId: path.contactId
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}/contacts/{contactId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove a contact from a contact group
effect: destructive
questions:
- How do I take someone out of a contact group without deleting the contact?
- Can I drop one contact from a group's membership?
instructions:
- text: Remove contact {contactId} from contact group {id}.
slots:
contactId: path.contactId
id: path.id
- text: Take contact {contactId} out of group {id}.
slots:
contactId: path.contactId
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contact-types'].get
update:
x-apievangelist-phrasing:
intent: List contact types
effect: read
questions:
- What contact types are configured in my account?
- Which contact type codes can I assign to a contact?
instructions:
- text: List the available contact types.
- text: List contact types matching {filter}.
slots:
filter: query.filter
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts'].get
update:
x-apievangelist-phrasing:
intent: List contacts in the address book
effect: read
questions:
- What contacts are in my Cvent address book?
- Can I include purged contacts when listing my contacts?
instructions:
- text: List contacts matching {filter}.
slots:
filter: query.filter
- text: 'List contacts changed after {after}, including purged ones: {includePurged}.'
slots:
after: query.after
includePurged: query.includePurged
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts'].put
update:
x-apievangelist-phrasing:
intent: Replace several contacts in bulk
effect: write
questions:
- How do I overwrite a batch of contacts in one request?
- Must new de-duplication field values be unique when I bulk-update contacts?
instructions:
- text: Bulk-replace these contacts with the full records I provide.
- text: Overwrite a list of existing contacts in one call.
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts'].post
update:
x-apievangelist-phrasing:
intent: Create contacts in bulk
effect: write
questions:
- How do I add a list of new contacts to my address book at once?
- Can I upsert contacts so existing ones are updated instead of duplicated?
instructions:
- text: Create these new contacts in the address book.
- text: Import this list of contacts with upsert set to {upsert}.
slots:
upsert: query.upsert
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts'].patch
update:
x-apievangelist-phrasing:
intent: Partially update several contacts
effect: write
questions:
- Is there a way to change only a few fields across many contacts, leaving the rest intact?
- Does a bulk patch keep existing contact values I don't send?
instructions:
- text: Patch only the provided fields on this batch of contacts.
- text: Apply partial changes to many contacts without touching unspecified fields.
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/filter'].post
update:
x-apievangelist-phrasing:
intent: Search contacts with a long filter
effect: read
questions:
- My contact filter is too long for the URL; can I send it in the body?
- Is there a POST search for contacts that returns the same data as the list?
instructions:
- text: Search contacts using body filter {filter}.
slots:
filter: requestBody.filter
- text: Search contacts with body filter {filter}, returning {limit} per page.
slots:
filter: requestBody.filter
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/obfuscate/{obfuscateId}/status'].get
update:
x-apievangelist-phrasing:
intent: Check a contact obfuscation's status
effect: read
questions:
- Has the obfuscation I started on a contact finished yet?
- Where do I check progress on a contact anonymization request?
instructions:
- text: Get the status of obfuscation request {obfuscateId}.
slots:
obfuscateId: path.obfuscateId
- text: Check whether obfuscation {obfuscateId} has completed.
slots:
obfuscateId: path.obfuscateId
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{contactId}/history'].get
update:
x-apievangelist-phrasing:
intent: Get a contact's change history
effect: read
questions:
- Who changed a contact's details, and when?
- Can I see a contact's edit history for a specific time window?
instructions:
- text: Show the change history for contact {contactId}.
slots:
contactId: path.contactId
- text: List changes to contact {contactId} made before {before}.
slots:
contactId: path.contactId
before: query.before
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a contact
effect: read
questions:
- How do I look up one contact's full record by ID?
- Which extra scope do I need to see a contact's passport or date of birth?
instructions:
- text: Get contact {id}.
slots:
id: path.id
- text: Show the address book record for contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].put
update:
x-apievangelist-phrasing:
intent: Replace a single contact's record
effect: write
questions:
- What call replaces a single contact's entire record?
- Can I set a contact's parent contact when fully updating them?
instructions:
- text: Replace the full record of contact {id} with the values I give.
slots:
id: path.id
- text: Fully update contact {id} and set its parent to {parentId}.
slots:
id: path.id
parentId: requestBody.parentId
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a contact from the address book
effect: destructive
questions:
- How do I delete a contact from my address book?
- Does deleting a contact also remove them from events they're in?
instructions:
- text: Delete contact {id} from the address book.
slots:
id: path.id
- text: Remove contact {id} but leave their event registrations in place.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Change specific fields on one contact
effect: write
questions:
- Can I change just a contact's job title without resending the whole record?
- Can I clear a single field on a contact by setting it to null?
instructions:
- text: Set contact {id}'s company to {company}, leaving other fields unchanged.
slots:
id: path.id
company: requestBody.company
- text: Patch contact {id} with the new title {title}.
slots:
id: path.id
title: requestBody.title
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/custom-fields/{customFieldId}/answers'].put
update:
x-apievangelist-phrasing:
intent: Set a contact's custom field answer
effect: write
questions:
- How do I record a custom field answer on a contact?
- Can I update one custom field value for one contact?
instructions:
- text: Set custom field {customFieldId} on contact {id} to {value}.
slots:
customFieldId: path.customFieldId
id: path.id
value: requestBody.value
- text: Update contact {id}'s answer for custom field {customFieldId}.
slots:
id: path.id
customFieldId: path.customFieldId
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/merge'].post
update:
x-apievangelist-phrasing:
intent: Merge duplicate contacts
effect: destructive
questions:
- How do I merge duplicate contacts into one?
- How many contacts can be merged together at once?
instructions:
- text: Merge contacts {secondaryContacts} into contact {id}.
slots:
secondaryContacts: requestBody.secondaryContacts
id: path.id
- text: Combine duplicates {secondaryContacts} into {id} using conflict rule {conflictResolution}.
slots:
secondaryContacts: requestBody.secondaryContacts
id: path.id
conflictResolution: requestBody.conflictResolution
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/obfuscate'].post
update:
x-apievangelist-phrasing:
intent: Obfuscate a contact's personal data
effect: destructive
questions:
- How do I anonymize a contact's personal data for a privacy request?
- Is obfuscating a contact reversible?
instructions:
- text: Obfuscate contact {id}.
slots:
id: path.id
- text: Start anonymizing all personal data for contact {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/profile-images'].put
update:
x-apievangelist-phrasing:
intent: Set a contact's profile picture
effect: write
questions:
- How do I give a contact a profile photo?
- Will assigning a new picture replace the contact's current one?
instructions:
- text: Set contact {id}'s profile picture to uploaded file {file} at {href}.
slots:
id: path.id
file: requestBody.file
href: requestBody.href
- text: Replace the profile photo on contact {id} with file {file} ({href}).
slots:
id: path.id
file: requestBody.file
href: requestBody.href
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/profile-images'].delete
update:
x-apievangelist-phrasing:
intent: Remove a contact's profile picture
effect: destructive
questions:
- How do I remove a contact's profile photo?
- Can I clear the picture on a contact without changing anything else?
instructions:
- text: Delete the profile picture of contact {id}.
slots:
id: path.id
- text: Clear contact {id}'s profile photo.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/related-contacts'].get
update:
x-apievangelist-phrasing:
intent: List a contact's related contacts
effect: read
questions:
- Which other contacts are related to this contact?
- Can I see the linked contacts for someone, like a guest or assistant?
instructions:
- text: List contacts related to contact {id}.
slots:
id: path.id
- text: Show the related contact IDs for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/related-contacts/{relatedContactId}'].put
update:
x-apievangelist-phrasing:
intent: Link two contacts as related
effect: write
questions:
- How do I mark two contacts as related to each other?
- Can I link a contact to another contact record?
instructions:
- text: Relate contact {id} to contact {relatedContactId}.
slots:
id: path.id
relatedContactId: path.relatedContactId
- text: Add a relationship between contacts {id} and {relatedContactId}.
slots:
id: path.id
relatedContactId: path.relatedContactId
method: generated
generated: '2026-09-26'
- target: $.paths['/contacts/{id}/related-contacts/{relatedContactId}'].delete
update:
x-apievangelist-phrasing:
intent: Unlink two related contacts
effect: destructive
questions:
- What removes the link between two related contacts?
- Can I delete a contact relationship without deleting either contact?
instructions:
- text: Delete the relationship between contact {id} and {relatedContactId}.
slots:
id: path.id
relatedContactId: path.relatedContactId
- text: Unlink contact {relatedContactId} from contact {id}.
slots:
relatedContactId: path.relatedContactId
id: path.id
method: generated
generated: '2026-09-26'