Cvent Event Cloud · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Cvent REST Contacts API

29 actions 29 updates phrasing extends openapi/cvent-event-cloud-contacts-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Cvent Event Cloud's API. It is a proposal applied on top of the contract, not a document Cvent Event Cloud publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 29 · first 16 shown; the file carries all of them

$.info
$.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
$.paths['/contacts'].put
$.paths['/contacts'].post
$.paths['/contacts'].patch
$.paths['/contacts/filter'].post
$.paths['/contacts/obfuscate/{obfuscateId}/status'].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 REST Contacts API
  version: 1.0.0
extends: openapi/cvent-event-cloud-contacts-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 28
- target: $.paths['/contact-groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List contact groups
      effect: read
      questions:
      - What contact groups exist in my address book?
      - Can I filter contact groups or page through them by date?
      instructions:
      - text: List all 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:
      - Can I create a new group to organize contacts, like a distribution list?
      - What do I need to supply to make a contact group?
      instructions:
      - text: Create a contact group named {name} with ID {id}.
        slots:
          name: requestBody.name
          id: requestBody.id
      - text: Make a new contact group {name} (ID {id}) described as {description}.
        slots:
          name: requestBody.name
          id: requestBody.id
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contact group
      effect: read
      questions:
      - Can I see the details of one contact group, like its type and note?
      - What is the description of a particular contact group?
      instructions:
      - text: Get contact group {group}.
        slots:
          group: path.id
      - text: Show the settings of contact group {group}.
        slots:
          group: 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:
      - Can I rename an existing contact group?
      - How do I change the description or note on a contact group?
      instructions:
      - text: Rename contact group {group} to {name}.
        slots:
          group: path.id
          name: requestBody.name
      - text: Update the note on contact group {group} to {note}.
        slots:
          group: path.id
          note: requestBody.note
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a contact group
      effect: destructive
      questions:
      - Can I delete a contact group I no longer use?
      - Is removing a whole contact group reversible?
      instructions:
      - text: Delete contact group {group}.
        slots:
          group: path.id
      - text: Remove the contact group {group} from the address book.
        slots:
          group: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contact-groups/{id}/contacts'].get
  update:
    x-apievangelist-phrasing:
      intent: List contact IDs in a group
      effect: read
      questions:
      - Which contacts belong to a given contact group?
      - Can I get just the contact IDs that are members of a group?
      instructions:
      - text: List the contact IDs in contact group {group}.
        slots:
          group: path.id
      - text: Show who is a member of contact group {group}.
        slots:
          group: 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 group
      effect: write
      questions:
      - Can I put a single contact into a contact group?
      - How do I add someone to one of my contact groups?
      instructions:
      - text: Add contact {contactId} to contact group {group}.
        slots:
          contactId: path.contactId
          group: path.id
      - text: Put contact {contactId} in group {group}.
        slots:
          contactId: path.contactId
          group: 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 group
      effect: destructive
      questions:
      - Can I take one contact out of a contact group without deleting them?
      - Does removing someone from a group keep them in the address book?
      instructions:
      - text: Remove contact {contactId} from contact group {group}.
        slots:
          contactId: path.contactId
          group: path.id
      - text: Take contact {contactId} out of group {group}.
        slots:
          contactId: path.contactId
          group: 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 defined in my account?
      - Can I filter the list of contact types?
      instructions:
      - text: List all 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:
      - How do I page through all the contacts in my Cvent address book?
      - Can I include purged contacts when listing contacts?
      - Can I list contacts changed after a certain date?
      instructions:
      - text: List contacts matching filter {filter}.
        slots:
          filter: query.filter
      - text: 'List contacts modified 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: Update several contacts at once
      effect: write
      questions:
      - Can I replace the details of many contacts in one bulk request?
      - What should I watch for when bulk-updating de-duplication fields on contacts?
      instructions:
      - text: Bulk update these contacts with the full records I provide.
      - text: Overwrite the listed contacts in one batch with their new values.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts'].post
  update:
    x-apievangelist-phrasing:
      intent: Create contacts in bulk
      effect: write
      questions:
      - Can I add a list of new contacts to the address book in one call?
      - Is there an upsert option when creating contacts so existing ones get updated?
      instructions:
      - text: Create these new contacts in the address book.
      - text: Create the contacts I provide 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:
      - Can I change just a few fields on many contacts and leave the rest intact?
      - Which endpoint patches a batch of contacts without overwriting untouched values?
      instructions:
      - text: Patch only the provided fields on this batch of contacts.
      - text: Apply a partial update to multiple contacts, keeping all other values as they are.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts/filter'].post
  update:
    x-apievangelist-phrasing:
      intent: Search contacts with a body filter
      effect: read
      questions:
      - Can I search contacts with a filter longer than a URL allows?
      - Is there a POST search that returns the same data as listing contacts?
      instructions:
      - text: Search contacts using the body filter {filter}.
        slots:
          filter: requestBody.filter
      - text: Search contacts with filter {filter}, {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 status
      effect: read
      questions:
      - Has my request to anonymize a contact finished yet?
      - Where can I check the progress of a contact obfuscation?
      instructions:
      - text: Check the status of obfuscation {obfuscateId}.
        slots:
          obfuscateId: path.obfuscateId
      - text: Tell me whether obfuscation request {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 record and when?
      - Can I see the edit history of one contact within a date range?
      instructions:
      - text: Show the change history for contact {contactId}.
        slots:
          contactId: path.contactId
      - text: List changes to contact {contactId} made after {after}.
        slots:
          contactId: path.contactId
          after: query.after
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contact
      effect: read
      questions:
      - Can I look up one contact's full record by ID?
      - Which sensitive fields like passport number need an extra scope to read on a contact?
      instructions:
      - text: Get contact {contact}.
        slots:
          contact: path.id
      - text: Show the address book record for contact {contact}.
        slots:
          contact: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a contact's details
      effect: write
      questions:
      - Can I overwrite a single contact's record with new values?
      - What happens to fields I leave out when I fully update one contact?
      instructions:
      - text: Replace the record of contact {contact} with the values I provide.
        slots:
          contact: path.id
      - text: Fully update contact {contact} and set its parent contact to {parentId}.
        slots:
          contact: 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:
      - Can I delete a contact from the address book but keep them on events?
      - Does deleting a contact remove them from events they registered for?
      instructions:
      - text: Delete contact {contact} from the address book.
        slots:
          contact: path.id
      - text: Remove contact {contact} from my contacts.
        slots:
          contact: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change some fields on one contact
      effect: write
      questions:
      - Can I change just one contact's company or title without touching other fields?
      - How do I clear a single field on a contact by setting it to null?
      instructions:
      - text: Update the company of contact {contact} to {company}.
        slots:
          contact: path.id
          company: requestBody.company
      - text: Change contact {contact}'s job title to {title}.
        slots:
          contact: 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:
      - Can I record an answer to a custom field on a contact?
      - How do I update a single custom question value for one contact?
      instructions:
      - text: Set custom field {customFieldId} on contact {contact} to {value}.
        slots:
          customFieldId: path.customFieldId
          contact: path.id
          value: requestBody.value
      - text: Update contact {contact}'s answer to custom field {customFieldId} with {value}.
        slots:
          contact: path.id
          customFieldId: path.customFieldId
          value: requestBody.value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts/{id}/merge'].post
  update:
    x-apievangelist-phrasing:
      intent: Merge duplicate contacts
      effect: destructive
      questions:
      - Can I combine duplicate contacts into one record?
      - How many contacts can be merged together at once?
      instructions:
      - text: Merge contacts {secondaryContacts} into contact {contact}.
        slots:
          secondaryContacts: requestBody.secondaryContacts
          contact: path.id
      - text: Merge duplicates {secondaryContacts} into primary contact {contact} using conflict resolution {conflictResolution}.
        slots:
          secondaryContacts: requestBody.secondaryContacts
          contact: 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:
      - Can I anonymize a contact to honor a privacy or data erasure request?
      - How do I start obfuscating a contact's personal information?
      instructions:
      - text: Obfuscate contact {contact}.
        slots:
          contact: path.id
      - text: Start anonymizing the personal data of contact {contact}.
        slots:
          contact: 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:
      - Can I give a contact a profile photo from an uploaded file?
      - Does assigning a new contact picture replace the existing one?
      instructions:
      - text: Set uploaded file {file} at {href} as the profile picture for contact {contact}.
        slots:
          file: requestBody.file
          href: requestBody.href
          contact: path.id
      - text: Replace contact {contact}'s photo with file {file} ({href}).
        slots:
          contact: 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:
      - Can I delete the photo on a contact's profile?
      - How do I clear a contact's profile image?
      instructions:
      - text: Delete the profile picture of contact {contact}.
        slots:
          contact: path.id
      - text: Remove contact {contact}'s profile photo.
        slots:
          contact: 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 person, like a guest or assistant?
      - Can I get the IDs of all contacts linked to one contact?
      instructions:
      - text: List contacts related to contact {contact}.
        slots:
          contact: path.id
      - text: Get the related contact IDs for {contact}.
        slots:
          contact: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/contacts/{id}/related-contacts/{relatedContactId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Relate two contacts
      effect: write
      questions:
      - Can I link two contacts together as related?
      - How do I record that two people in my address book are connected?
      instructions:
      - text: Link contact {contact} with related contact {relatedContactId}.
        slots:
          contact: path.id
          relatedContactId: path.relatedContactId
      - text: Add a relationship between contacts {contact} and {relatedContactId}.
        slots:
          contact: 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:
      - Can I remove the link between two related contacts?
      - Does deleting a contact relationship delete either contact?
      instructions:
      - text: Remove the relationship between contact {contact} and {relatedContactId}.
        slots:
          contact: path.id
          relatedContactId: path.relatedContactId
      - text: Unlink related contact {relatedContactId} from contact {contact}.
        slots:
          relatedContactId: path.relatedContactId
          contact: path.id
      method: generated
      generated: '2026-09-26'