Conga · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Conga Contact API

17 actions 17 updates phrasing extends openapi/conga-contact-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Conga's API. It is a proposal applied on top of the contract, not a document Conga publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/api/data/v1/Contact'].get
$.paths['/api/data/v1/Contact'].post
$.paths['/api/data/v1/Contact/bulk'].put
$.paths['/api/data/v1/Contact/bulk'].post
$.paths['/api/data/v1/Contact/bulk'].delete
$.paths['/api/data/v1/Contact/bulk'].patch
$.paths['/api/data/v1/Contact/by-externalId/{externalId}'].get
$.paths['/api/data/v1/Contact/by-externalId/{externalId}'].put
$.paths['/api/data/v1/Contact/by-externalId/{externalId}'].delete
$.paths['/api/data/v1/Contact/query'].post
$.paths['/api/data/v1/Contact/recordtypes'].get
$.paths['/api/data/v1/Contact/summary'].get
$.paths['/api/data/v1/Contact/{id}'].get
$.paths['/api/data/v1/Contact/{id}'].put
$.paths['/api/data/v1/Contact/{id}'].delete

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 Conga Contact API
  version: 1.0.0
extends: openapi/conga-contact-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: 16
- target: $.paths['/api/data/v1/Contact'].get
  update:
    x-apievangelist-phrasing:
      intent: List contact records
      effect: read
      questions:
      - Where can I see all contacts stored in Conga?
      - Can I sort and page through contact records by a field?
      instructions:
      - text: List my contact records.
      - text: Show contacts matching {criteria}, sorted by {field}.
        slots:
          criteria: query.criteria
          field: query.sortField
      - text: Get page {page} of contacts, {size} per page.
        slots:
          page: query.pageNumber
          size: query.pageSize
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a contact
      effect: write
      questions:
      - How do I add a single new contact with name and email?
      - Will creating a contact fail if the record already exists?
      instructions:
      - text: Create a contact named {first} {last} with email {email}.
        slots:
          first: requestBody.FirstName
          last: requestBody.LastName
          email: requestBody.Email
      - text: Add contact {last} to account {account}.
        slots:
          last: requestBody.LastName
          account: requestBody.Account
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/bulk'].put
  update:
    x-apievangelist-phrasing:
      intent: Update many contacts at once
      effect: write
      questions:
      - Can I update a batch of existing contacts in one request?
      - Is optimistic locking supported when bulk-updating contacts?
      instructions:
      - text: Bulk-update these existing contact records.
      - text: Update many contacts matched by field {field}.
        slots:
          field: query.UpdateByField
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/bulk'].post
  update:
    x-apievangelist-phrasing:
      intent: Create many contacts at once
      effect: write
      questions:
      - Is it possible to insert a list of new contacts in a single call?
      - Can I bulk-create contacts and get the records back in the response?
      instructions:
      - text: Insert this batch of new contacts.
      - text: 'Bulk-create contacts and include payload in response: {include}.'
        slots:
          include: query.IncludeRecordPayloadInResponse
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/bulk'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete many contacts at once
      effect: destructive
      questions:
      - Can a batch of contact records be removed together?
      - Can I bulk-delete contacts by a field other than ID?
      instructions:
      - text: Bulk-delete the listed contact records.
      - text: Delete many contacts matched by field {field}.
        slots:
          field: query.DeleteByField
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/bulk'].patch
  update:
    x-apievangelist-phrasing:
      intent: Upsert many contacts
      effect: write
      questions:
      - Can I insert new contacts and update existing ones in the same call?
      - How do I upsert contacts in bulk?
      instructions:
      - text: Upsert this list of contacts.
      - text: Upsert contacts, matching existing ones on {field}.
        slots:
          field: query.UpdateByField
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/by-externalId/{externalId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contact by external ID
      effect: read
      questions:
      - Which contact matches the ID from my other system?
      - Can I look up a Conga contact by its external identifier?
      instructions:
      - text: Get the contact with external ID {ext}.
        slots:
          ext: path.externalId
      - text: Look up contact by external identifier {ext}.
        slots:
          ext: path.externalId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/by-externalId/{externalId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a contact by external ID
      effect: write
      questions:
      - How do I update a contact when I only know its external ID?
      - Can I change a contact's email using its external identifier?
      instructions:
      - text: Update the contact with external ID {ext}.
        slots:
          ext: path.externalId
      - text: Set email {email} on contact with external ID {ext}.
        slots:
          email: requestBody.Email
          ext: path.externalId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/by-externalId/{externalId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a contact by external ID
      effect: destructive
      questions:
      - How do I delete a contact using its external identifier?
      - Can I remove a contact matched by external ID rather than record ID?
      instructions:
      - text: Delete the contact with external ID {ext}.
        slots:
          ext: path.externalId
      - text: Remove contact by external identifier {ext}.
        slots:
          ext: path.externalId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/query'].post
  update:
    x-apievangelist-phrasing:
      intent: Query contact records
      effect: read
      questions:
      - How do I search contacts with criteria and choose which fields come back?
      - Can a contact query return the total record count?
      instructions:
      - text: Query contacts matching {criteria}.
        slots:
          criteria: requestBody.Criteria
      - text: Search contacts and return only fields {fields}.
        slots:
          fields: requestBody.Select
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/recordtypes'].get
  update:
    x-apievangelist-phrasing:
      intent: List contact record types
      effect: read
      questions:
      - Which record types are defined for contacts?
      - What kinds of contact record types can I choose from?
      instructions:
      - text: List the contact record types.
      - text: Show every record type available for contacts.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/summary'].get
  update:
    x-apievangelist-phrasing:
      intent: Get contact count and storage size
      effect: read
      questions:
      - How many contact records do we have and how much disk do they use?
      - Can I see the storage footprint of the contact object?
      instructions:
      - text: Get the contact record count and size on disk.
      - text: Summarize how many contacts are stored.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a contact by record ID
      effect: read
      questions:
      - How do I fetch one contact using its Conga record ID?
      - What details are stored on a particular contact?
      instructions:
      - text: Get contact {id}.
        slots:
          id: path.id
      - text: Show the details of contact record {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a contact by record ID
      effect: write
      questions:
      - How do I edit a single contact using its record ID?
      - Can I update a contact's title and phone number?
      instructions:
      - text: Update contact {id}.
        slots:
          id: path.id
      - text: Change the title of contact {id} to {title}.
        slots:
          id: path.id
          title: requestBody.Title
      - text: Set phone {phone} on contact record {id}.
        slots:
          phone: requestBody.Phone
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/data/v1/Contact/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a contact by record ID
      effect: destructive
      questions:
      - How do I delete one contact by its record ID?
      - Can I choose a delete behaviour when removing a contact?
      instructions:
      - text: Delete contact {id}.
        slots:
          id: path.id
      - text: Remove contact record {id} with behaviour {behaviour}.
        slots:
          id: path.id
          behaviour: query.deleteBehaviour
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/xauthor/v1/contacts/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Find contacts by name for authoring
      effect: read
      questions:
      - Which contacts match a name when I'm authoring a document?
      - Can I search contacts by name from the authoring add-in?
      instructions:
      - text: Find contacts named {name}.
        slots:
          name: path.name
      - text: Look up authoring contacts matching {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-10-01'