Conga · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Data Custom Object API
19 actions
19 updates
phrasing
extends
openapi/conga-custom-object-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.
What the actions change
x-apievangelist-phrasing
Targets 19 · first 16 shown; the file carries all of them
$.info
$.paths['/api/data/v1/custom-objects/query/parallel'].post
$.paths['/api/data/v1/custom-objects/query/{objectName}'].post
$.paths['/api/data/v1/custom-objects/{objectName}'].get
$.paths['/api/data/v1/custom-objects/{objectName}'].post
$.paths['/api/data/v1/custom-objects/{objectName}/bulk'].put
$.paths['/api/data/v1/custom-objects/{objectName}/bulk'].post
$.paths['/api/data/v1/custom-objects/{objectName}/bulk'].delete
$.paths['/api/data/v1/custom-objects/{objectName}/bulk'].patch
$.paths['/api/data/v1/custom-objects/{objectName}/by-externalId/{externalId}'].get
$.paths['/api/data/v1/custom-objects/{objectName}/by-externalId/{externalId}'].put
$.paths['/api/data/v1/custom-objects/{objectName}/by-externalId/{externalId}'].delete
$.paths['/api/data/v1/custom-objects/{objectName}/criteria/bulk'].put
$.paths['/api/data/v1/custom-objects/{objectName}/criteria/bulk'].delete
$.paths['/api/data/v1/custom-objects/{objectName}/recordtypes'].get
$.paths['/api/data/v1/custom-objects/{objectName}/summary'].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 Data Custom Object API
version: 1.0.0
extends: openapi/conga-custom-object-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: 18
- target: $.paths['/api/data/v1/custom-objects/query/parallel'].post
update:
x-apievangelist-phrasing:
intent: Run several custom object queries in parallel
effect: read
questions:
- Can I send multiple custom object queries in one request and get each result back?
- Is there a way to run queries against different custom objects at the same time?
instructions:
- text: Run these custom object queries in parallel and return each response.
- text: Execute a batch of queries across my custom objects at once.
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/query/{objectName}'].post
update:
x-apievangelist-phrasing:
intent: Query a custom object's records
effect: read
questions:
- How do I query records of one custom object with criteria, sorting and grouping?
- Can a custom object query also return the total record count?
instructions:
- text: Query {object_name} records matching {criteria}.
slots:
object_name: path.objectName
criteria: requestBody.Criteria
- text: Select {select} from {object_name}, limit {limit}.
slots:
select: requestBody.Select
object_name: path.objectName
limit: requestBody.Limit
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}'].get
update:
x-apievangelist-phrasing:
intent: List all records of a custom object
effect: read
questions:
- What records exist in a given custom object?
- Can I page and sort through every record of a custom object?
instructions:
- text: List all records in custom object {object_name}.
slots:
object_name: path.objectName
- text: Show {object_name} records page {page_number}, sorted by {sort_field}.
slots:
object_name: path.objectName
page_number: query.pageNumber
sort_field: query.sortField
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}'].post
update:
x-apievangelist-phrasing:
intent: Insert one custom object record
effect: write
questions:
- How do I add a single new record to a custom object?
- Will inserting a record fail if it already exists?
instructions:
- text: Insert a new record into custom object {object_name}.
slots:
object_name: path.objectName
- text: Add one {object_name} record and return its payload.
slots:
object_name: path.objectName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/bulk'].put
update:
x-apievangelist-phrasing:
intent: Update many custom object records
effect: write
questions:
- Can I update multiple records of a custom object in one call?
- Is optimistic locking available when bulk-updating records?
instructions:
- text: Bulk-update the listed records in custom object {object_name}.
slots:
object_name: path.objectName
- text: Update many {object_name} records matched by field {update_by_field}.
slots:
object_name: path.objectName
update_by_field: query.UpdateByField
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/bulk'].post
update:
x-apievangelist-phrasing:
intent: Insert many custom object records
effect: write
questions:
- Can I create a batch of records in a custom object at once?
- What's the bulk insert option for custom object data?
instructions:
- text: Bulk-insert these new records into custom object {object_name}.
slots:
object_name: path.objectName
- text: Create many {object_name} records in one request.
slots:
object_name: path.objectName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/bulk'].delete
update:
x-apievangelist-phrasing:
intent: Delete many custom object records
effect: destructive
questions:
- Can I remove a list of records from a custom object in one request?
- Is there a way to choose the delete behaviour when bulk-removing records?
instructions:
- text: Bulk-delete the listed records from custom object {object_name}.
slots:
object_name: path.objectName
- text: Remove many {object_name} records identified by field {delete_by_field}.
slots:
object_name: path.objectName
delete_by_field: query.DeleteByField
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/bulk'].patch
update:
x-apievangelist-phrasing:
intent: Upsert custom object records
effect: write
questions:
- Can I insert new records and update existing ones in a single call?
- How does upsert decide between update and insert for a custom object?
instructions:
- text: Upsert these records into custom object {object_name}.
slots:
object_name: path.objectName
- text: Insert or update {object_name} records keyed on {update_by_field}.
slots:
object_name: path.objectName
update_by_field: query.UpdateByField
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/by-externalId/{externalId}'].get
update:
x-apievangelist-phrasing:
intent: Get a custom object record by external ID
effect: read
questions:
- Can I look up a custom object record using its external ID instead of its record ID?
- What comes back if a record with that external ID exists?
instructions:
- text: Get the {object_name} record with external ID {external_id}.
slots:
object_name: path.objectName
external_id: path.externalId
- text: Find external ID {external_id} in custom object {object_name}.
slots:
object_name: path.objectName
external_id: path.externalId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/by-externalId/{externalId}'].put
update:
x-apievangelist-phrasing:
intent: Update a custom object record by external ID
effect: write
questions:
- How do I update a record when I only know its external ID?
- Can I enforce optimistic locking on an update by external ID?
instructions:
- text: Update the {object_name} record with external ID {external_id}.
slots:
object_name: path.objectName
external_id: path.externalId
- text: Change fields on external-ID record {external_id} in {object_name}.
slots:
object_name: path.objectName
external_id: path.externalId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/by-externalId/{externalId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom object record by external ID
effect: destructive
questions:
- Can I delete a custom object record using its external ID?
- Which delete behaviours apply when removing a record by external ID?
instructions:
- text: Delete the {object_name} record with external ID {external_id}.
slots:
object_name: path.objectName
external_id: path.externalId
- text: Remove external-ID record {external_id} from {object_name}.
slots:
object_name: path.objectName
external_id: path.externalId
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/criteria/bulk'].put
update:
x-apievangelist-phrasing:
intent: Update custom object records matching criteria
effect: write
questions:
- Can I update every record that meets a condition in a custom object?
- How do I set the same values on all records matching a filter?
instructions:
- text: In {object_name}, set {values} on records matching {criteria}.
slots:
object_name: path.objectName
values: requestBody.ValuesToUpdate
criteria: requestBody.Criteria
- text: Update all {object_name} records that satisfy {criteria}.
slots:
object_name: path.objectName
criteria: requestBody.Criteria
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/criteria/bulk'].delete
update:
x-apievangelist-phrasing:
intent: Delete custom object records matching criteria
effect: destructive
questions:
- Can I delete all records in a custom object that meet a condition?
- Is there a cap on how many records a criteria-based delete removes?
instructions:
- text: Delete all {object_name} records matching {criteria}.
slots:
object_name: path.objectName
criteria: requestBody.Criteria
- text: Remove up to {count} {object_name} records that satisfy {criteria}.
slots:
count: requestBody.NumberOfRecordsToDelete
object_name: path.objectName
criteria: requestBody.Criteria
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/recordtypes'].get
update:
x-apievangelist-phrasing:
intent: List record types of a custom object
effect: read
questions:
- Which record types are defined for a custom object?
- Can I see all record types available on one object?
instructions:
- text: List record types for custom object {object_name}.
slots:
object_name: path.objectName
- text: Show the record types defined on {object_name}.
slots:
object_name: path.objectName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/summary'].get
update:
x-apievangelist-phrasing:
intent: Get a custom object's record count and size
effect: read
questions:
- How many records does a custom object hold and how much disk does it use?
- Can I check the storage size of one object?
instructions:
- text: Show the record count and disk size of {object_name}.
slots:
object_name: path.objectName
- text: Summarize storage usage for custom object {object_name}.
slots:
object_name: path.objectName
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a custom object record by ID
effect: read
questions:
- What does a single custom object record contain when I have its record ID?
- Can I fetch one record from a custom object by ID?
instructions:
- text: Get record {record_id} from custom object {object_name}.
slots:
object_name: path.objectName
record_id: path.id
- text: Show the {object_name} record with ID {record_id}.
slots:
object_name: path.objectName
record_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a custom object record by ID
effect: write
questions:
- How do I change one custom object record identified by its record ID?
- Can the updated payload be returned after editing one record?
instructions:
- text: Update record {record_id} in custom object {object_name}.
slots:
object_name: path.objectName
record_id: path.id
- text: Edit the {object_name} record {record_id} and return the payload.
slots:
object_name: path.objectName
record_id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/api/data/v1/custom-objects/{objectName}/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom object record by ID
effect: destructive
questions:
- How do I delete one custom object record by its record ID?
- Which delete behaviour options exist when removing one record by ID?
instructions:
- text: Delete record {record_id} from custom object {object_name}.
slots:
object_name: path.objectName
record_id: path.id
- text: Remove the {object_name} record with ID {record_id}.
slots:
object_name: path.objectName
record_id: path.id
method: generated
generated: '2026-10-01'