Conga · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Approvals Requests API
29 actions
29 updates
phrasing
extends
openapi/conga-requests-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 29 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/requests/attachments'].post
$.paths['/v1/requests/bulk-approve'].post
$.paths['/v1/requests/bulk-reassign'].post
$.paths['/v1/requests/bulk-reject'].post
$.paths['/v1/requests/bulk/{actionType}'].post
$.paths['/v1/requests/check-required'].post
$.paths['/v1/requests/check-required-async'].post
$.paths['/v1/requests/comments'].put
$.paths['/v1/requests/process-escalation-reminders'].post
$.paths['/v1/requests/rfi'].put
$.paths['/v1/requests/submit'].post
$.paths['/v1/requests/submit-async'].post
$.paths['/v1/requests/{correlationId}/status'].get
$.paths['/v1/requests/{id}/adhoc-approver'].put
$.paths['/v1/requests/{id}/adhoc-approver'].delete
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 Approvals Requests API
version: 1.0.0
extends: openapi/conga-requests-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: 28
- target: $.paths['/v1/requests/attachments'].post
update:
x-apievangelist-phrasing:
intent: Get attachments for several approval requests
effect: read
questions:
- What files are attached to these approval requests?
- Can I pull the attachments for a batch of approval request IDs at once?
instructions:
- text: Fetch the attachments for the approval requests I'm listing.
- text: Show me every file attached to this set of approval requests.
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/bulk-approve'].post
update:
x-apievangelist-phrasing:
intent: Approve several approval requests at once
effect: write
questions:
- Can I approve a whole batch of pending approval requests in one call?
- What happens to the approval process after I bulk-approve requests?
instructions:
- text: Bulk-approve all of the approval requests on my list.
- text: Approve these pending requests together and move each process to its next approver.
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/bulk-reassign'].post
update:
x-apievangelist-phrasing:
intent: Reassign several approval requests at once
effect: write
questions:
- Is there a way to hand off many approval requests to someone else in one go?
- Can I bulk-reassign approval requests when an approver is out?
instructions:
- text: Bulk-reassign these approval requests to a new approver.
- text: Move all of the listed approval requests off my queue in one batch.
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/bulk-reject'].post
update:
x-apievangelist-phrasing:
intent: Reject several approval requests at once
effect: write
questions:
- Can I reject a batch of approval requests in a single call?
- How do I decline many approval requests together in Conga Approvals?
instructions:
- text: Bulk-reject every approval request on this list.
- text: Decline all of these pending approval requests at once.
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/bulk/{actionType}'].post
update:
x-apievangelist-phrasing:
intent: Run an action on many business objects in bulk
effect: write
questions:
- Can I apply one approval action type across many business objects in bulk?
- Which bulk action types can be run against business objects?
instructions:
- text: Run the {actionType} action on these business objects in bulk.
slots:
actionType: path.actionType
- text: Bulk-process the selected business objects with action type {actionType}.
slots:
actionType: path.actionType
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/check-required'].post
update:
x-apievangelist-phrasing:
intent: Check which objects require approval
effect: read
questions:
- Does this quote and its line items need approval before I continue?
- Which header and child objects require approval right now?
instructions:
- text: Check whether header object {header} and its children need approval.
slots:
header: requestBody.HeaderObject
- text: List which of these child objects {children} require approval, synchronously.
slots:
children: requestBody.ChildObjects
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/check-required-async'].post
update:
x-apievangelist-phrasing:
intent: Check asynchronously which objects need approval
effect: read
questions:
- Can I run the approval-required check asynchronously for a large object?
- Is there a background version of the check for objects requiring approval?
instructions:
- text: Start an async check of whether header object {header} needs approval.
slots:
header: requestBody.HeaderObject
- text: Queue an asynchronous approval-required check for child objects {children}.
slots:
children: requestBody.ChildObjects
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/comments'].put
update:
x-apievangelist-phrasing:
intent: Add a comment to approval requests
effect: write
questions:
- Can I leave a comment on an approval request without approving or rejecting it?
- Is it possible to attach files along with a comment on approval requests?
instructions:
- text: Add the comment "{comments}" to approval requests {requestIds}.
slots:
comments: requestBody.Comments
requestIds: requestBody.ApprovalRequestIds
- text: Comment "{comments}" on request {requestIds} and attach files {attachmentIds}.
slots:
comments: requestBody.Comments
requestIds: requestBody.ApprovalRequestIds
attachmentIds: requestBody.AttachmentIds
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/process-escalation-reminders'].post
update:
x-apievangelist-phrasing:
intent: Trigger due approval reminders and escalations
effect: write
questions:
- How do I fire off all the approval reminders and escalations that are due?
- Can I manually run the escalation reminder job for overdue approvals?
instructions:
- text: Process every approval reminder and escalation that is currently due.
- text: Send the overdue approval reminder emails now.
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/rfi'].put
update:
x-apievangelist-phrasing:
intent: Request more information on an approval request
effect: write
questions:
- Can I ask someone for more information before deciding on an approval request?
- Who can receive a request for information on an approval, a user or a group?
instructions:
- text: Send a request for information on approval {requestIds} to {recipient} asking "{comments}".
slots:
requestIds: requestBody.ApprovalRequestIds
recipient: requestBody.RFIRecipientId
comments: requestBody.Comments
- text: Ask {recipient} (a {recipientType}) for details on approval requests {requestIds}.
slots:
recipient: requestBody.RFIRecipientId
recipientType: requestBody.RFIRecipientType
requestIds: requestBody.ApprovalRequestIds
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/submit'].post
update:
x-apievangelist-phrasing:
intent: Submit an object for approval
effect: write
questions:
- How do I send a quote or opportunity into the approval process?
- Can I submit an object for approval using its external ID instead?
instructions:
- text: Submit {objectType} {objectId} for approval.
slots:
objectType: requestBody.ObjectType
objectId: requestBody.ObjectId
- text: Submit {objectType} {objectId} for approval with the comment "{comments}".
slots:
objectType: requestBody.ObjectType
objectId: requestBody.ObjectId
comments: requestBody.Comments
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/submit-async'].post
update:
x-apievangelist-phrasing:
intent: Submit many objects for approval asynchronously
effect: write
questions:
- Can I submit a large batch of objects for approval in the background?
- What's the async way to kick off approvals for lots of records at once?
instructions:
- text: 'Submit these approval requests asynchronously: {requests}.'
slots:
requests: requestBody.Requests
- text: Queue a background approval submission for the records in {requests}.
slots:
requests: requestBody.Requests
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{correlationId}/status'].get
update:
x-apievangelist-phrasing:
intent: Check status of an async approval submission
effect: read
questions:
- Did my asynchronous approval submission finish yet?
- Where do I check progress using the correlation ID from an async submit?
instructions:
- text: Get the status of the approval submission with correlation ID {correlationId}.
slots:
correlationId: path.correlationId
- text: Check whether async approval job {correlationId} has completed.
slots:
correlationId: path.correlationId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{id}/adhoc-approver'].put
update:
x-apievangelist-phrasing:
intent: Add an ad hoc approver to a running approval
effect: write
questions:
- Can I insert an extra approver into an approval cycle that's already running?
- Where in the step order can an ad hoc approver be added?
instructions:
- text: Add ad hoc approver step {step} to approval request {id} at position {position}.
slots:
step: requestBody.NewStep
id: path.id
position: requestBody.NewStepPosition
- text: Insert a new approver {step} {position} reference request {ref} on approval {id}.
slots:
step: requestBody.NewStep
position: requestBody.NewStepPosition
ref: requestBody.ReferenceRequestId
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{id}/adhoc-approver'].delete
update:
x-apievangelist-phrasing:
intent: Remove an ad hoc approver from an approval
effect: destructive
questions:
- Can I take back an ad hoc approver I added to a rule-based approval?
- Is it possible to remove an extra approver from a running approval cycle?
instructions:
- text: Remove the ad hoc approver from approval request {id}.
slots:
id: path.id
- text: Delete the extra approver I added on request {id}.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{id}/approve'].post
update:
x-apievangelist-phrasing:
intent: Approve a single approval request
effect: write
questions:
- How do I approve one approval request and add a comment?
- What happens next after I approve a single request in the cycle?
instructions:
- text: Approve approval request {id}.
slots:
id: path.id
- text: Approve request {id} with the comment "{comments}".
slots:
id: path.id
comments: requestBody.Comments
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{id}/escalate'].post
update:
x-apievangelist-phrasing:
intent: Escalate an approval request
effect: write
questions:
- Can I push a stalled approval request up to the escalation level?
- Who does an escalated approval request go to?
instructions:
- text: Escalate approval request {id}.
slots:
id: path.id
- text: Raise request {id} to its configured escalation approver.
slots:
id: path.id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{id}/reassign'].post
update:
x-apievangelist-phrasing:
intent: Reassign one approval request
effect: write
questions:
- Can I hand a single approval request to a different user or group?
- What details do I need to reassign one approval request?
instructions:
- text: Reassign approval request {id} to {assigneeType} {assigneeId}.
slots:
id: path.id
assigneeType: requestBody.AssigneeType
assigneeId: requestBody.AssigneeId
- text: Give request {id} to assignee {assigneeId} ({assigneeType}) noting "{comments}".
slots:
id: path.id
assigneeId: requestBody.AssigneeId
assigneeType: requestBody.AssigneeType
comments: requestBody.Comments
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{id}/reject'].post
update:
x-apievangelist-phrasing:
intent: Reject a single approval request
effect: write
questions:
- How do I reject one approval request with a reason?
- Can a rejection be recorded as coming from an email response?
instructions:
- text: Reject approval request {id}.
slots:
id: path.id
- text: Reject request {id} with the comment "{comments}".
slots:
id: path.id
comments: requestBody.Comments
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{objectType}/{objectId}'].get
update:
x-apievangelist-phrasing:
intent: Get the approval status of a record
effect: read
questions:
- Is this opportunity still in preview or has it been submitted for approval?
- What approval status does a given record currently have?
instructions:
- text: Check the approval status of {objectType} {objectId}.
slots:
objectType: path.objectType
objectId: path.objectId
- text: Tell me whether {objectType} with external ID {objectId} is previewed or submitted.
slots:
objectType: path.objectType
objectId: path.objectId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{objectType}/{objectId}/child/{childObjectType}'].get
update:
x-apievangelist-phrasing:
intent: Get approval status of a record's child objects
effect: read
questions:
- Have the line items under this quote been submitted for approval?
- Can I check the approval status of child objects of a record?
instructions:
- text: Check the approval status of {childType} children of {objectType} {objectId}.
slots:
childType: path.childObjectType
objectType: path.objectType
objectId: path.objectId
- text: Report whether the {childType} records under {objectType} {objectId} are previewed or submitted.
slots:
childType: path.childObjectType
objectType: path.objectType
objectId: path.objectId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{objectType}/{objectId}/comments'].get
update:
x-apievangelist-phrasing:
intent: List comments on a record's approval requests
effect: read
questions:
- What comments have approvers left on this record's approvals?
- Can I sort approval comments oldest-first or limit them to one request?
instructions:
- text: Show the approval comments on {objectType} {objectId}.
slots:
objectType: path.objectType
objectId: path.objectId
- text: List comments for request {requestId} on {objectType} {objectId} in {order} order.
slots:
requestId: query.requestId
objectType: path.objectType
objectId: path.objectId
order: query.commentsOrder
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{objectType}/{objectId}/preview'].get
update:
x-apievangelist-phrasing:
intent: Preview which approvals a record would trigger
effect: read
questions:
- Which approval processes would apply if I submitted this opportunity?
- Can I see the approvers a record would need before submitting it?
instructions:
- text: Preview the approvals for {objectType} {objectId}.
slots:
objectType: path.objectType
objectId: path.objectId
- text: Show me who would need to approve {objectType} {objectId} before I submit it.
slots:
objectType: path.objectType
objectId: path.objectId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{objectType}/{objectId}/recall'].post
update:
x-apievangelist-phrasing:
intent: Recall a record's approval cycle
effect: destructive
questions:
- How do I cancel an approval cycle I already submitted?
- Will approvers be notified when I recall an approval?
instructions:
- text: Recall the approval cycle on {objectType} {objectId}.
slots:
objectType: path.objectType
objectId: path.objectId
- text: Cancel approvals for {objectType} {objectId} with the note "{comments}".
slots:
objectType: path.objectType
objectId: path.objectId
comments: requestBody.Comments
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{objectType}/{objectId}/{assigneeId}'].get
update:
x-apievangelist-phrasing:
intent: List a record's approval requests for one assignee
effect: read
questions:
- Which approval requests on this record are assigned to a particular person?
- What does a specific approver have pending on this object?
instructions:
- text: List approval requests on {objectType} {objectId} assigned to {assigneeId}.
slots:
objectType: path.objectType
objectId: path.objectId
assigneeId: path.assigneeId
- text: Show what assignee {assigneeId} must approve on {objectType} {objectId}.
slots:
assigneeId: path.assigneeId
objectType: path.objectType
objectId: path.objectId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{requestId}'].get
update:
x-apievangelist-phrasing:
intent: Get an approval request by ID
effect: read
questions:
- What are the details of a specific approval request?
- Can I look up one approval request directly by its request ID?
instructions:
- text: Get approval request {requestId}.
slots:
requestId: path.requestId
- text: Show me the full details of approval request {requestId}.
slots:
requestId: path.requestId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{requestId}/assign-owner'].put
update:
x-apievangelist-phrasing:
intent: Take ownership of a queued approval request
effect: write
questions:
- Can I claim a queued approval request so it's assigned to me?
- How do I take ownership of an approval sitting in a queue?
instructions:
- text: Assign queued approval request {requestId} to me.
slots:
requestId: path.requestId
- text: Claim ownership of request {requestId} from the queue.
slots:
requestId: path.requestId
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/requests/{requestId}/consolidation-info'].get
update:
x-apievangelist-phrasing:
intent: Get consolidation details for an approval request
effect: read
questions:
- Which approval requests were consolidated together with this one?
- Can I see the consolidation info for a given approval request?
instructions:
- text: Get the consolidation info for approval request {requestId}.
slots:
requestId: path.requestId
- text: List the requests consolidated with approval {requestId}.
slots:
requestId: path.requestId
method: generated
generated: '2026-10-01'