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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'