# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Adobe Workfront Expense API version: 1.0.0 extends: openapi/adobe-suite-expense-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: 12 - target: $.paths['/expense/{id}'].get update: x-apievangelist-phrasing: intent: Look up one expense effect: read questions: - How do I view a single Workfront expense by its ID? - Can I pick which fields come back for one expense? instructions: - text: Show expense {id}. slots: id: path.id - text: Get expense {id} with fields {fields}. slots: id: path.id fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/expense/{id}'].put update: x-apievangelist-phrasing: intent: Update one expense effect: write questions: - Can I change the amount or type recorded on an existing expense? - What's the call to correct a single expense entry? instructions: - text: Edit expense {id} with the corrections I give you. slots: id: path.id - text: Update expense {id} and return {fields}. slots: id: path.id fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/expense/{id}'].delete update: x-apievangelist-phrasing: intent: Delete one expense effect: destructive questions: - How do I remove an expense that was logged by mistake? - Is there a force option when deleting one expense? instructions: - text: Delete expense {id}. slots: id: path.id - text: Remove expense {id} with force {force}. slots: id: path.id force: query.force method: generated generated: '2026-09-26' - target: $.paths['/expense'].get update: x-apievangelist-phrasing: intent: Fetch several expenses by ID effect: read questions: - Can I retrieve a batch of expenses when I know their IDs? - Which call returns multiple known expenses at once? instructions: - text: Fetch expenses {id}. slots: id: query.id - text: Get the expenses {id} showing only {fields}. slots: id: query.id fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/expense'].put update: x-apievangelist-phrasing: intent: Update many expenses at once effect: write questions: - How do I bulk edit several expenses in one request? - Can I apply the same correction to a group of expenses? instructions: - text: Apply these edits to all the expenses I list. - text: Bulk update the expenses and return {fields}. slots: fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/expense'].post update: x-apievangelist-phrasing: intent: Log a new expense effect: write questions: - How do I record a new expense against a project or task? - What do I send to create an expense in Workfront? instructions: - text: Create an expense with the amount and details I provide. - text: Log a new expense and return {fields}. slots: fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/expense'].delete update: x-apievangelist-phrasing: intent: Delete many expenses at once effect: destructive questions: - Can I bulk delete a list of expenses by ID? - What removes several expenses in a single call? instructions: - text: Bulk delete expenses {id}. slots: id: query.id - text: Remove every expense in {id} using force {force}. slots: id: query.id force: query.force method: generated generated: '2026-09-26' - target: $.paths['/expense/count'].get update: x-apievangelist-phrasing: intent: Count expenses effect: read questions: - How many expenses match a given filter? - Can I get the total number of expenses without the records? instructions: - text: Count expenses where {filters}. slots: filters: query.filters - text: Tell me how many expenses have been logged. method: generated generated: '2026-09-26' - target: $.paths['/expense/search'].get update: x-apievangelist-phrasing: intent: Search expenses effect: read questions: - What's the way to find expenses by project, type or date? - Can I search expenses with paging and sorting? instructions: - text: Search expenses matching {filters}. slots: filters: query.filters - text: Find expenses where {filters} and list {fields}. slots: filters: query.filters fields: query.fields method: generated generated: '2026-09-26' - target: $.paths['/expense/report'].get update: x-apievangelist-phrasing: intent: Run an aggregate report on expenses effect: read questions: - Can I get grouped expense totals as a report? - Which call gives a report-style summary of expenses? instructions: - text: Run an expense report filtered by {filters}. slots: filters: query.filters - text: Summarize expenses as a report with {listOptions}. slots: listOptions: query.listOptions method: generated generated: '2026-09-26' - target: $.paths['/expense/calculateDataExtension'].put update: x-apievangelist-phrasing: intent: Recalculate an expense's custom data effect: write questions: - Is there a way to refresh calculated custom fields on an expense? - Can I force an expense's custom form values to recompute? instructions: - text: Recalculate the custom data extension fields on expense {ID}. slots: ID: query.ID - text: Refresh calculated custom form values for expense {ID}. slots: ID: query.ID method: generated generated: '2026-09-26' - target: $.paths['/expense/move'].put update: x-apievangelist-phrasing: intent: Move an expense to another object effect: write questions: - Can I move an expense from one project or task to another? - How do I reassign an expense to a different parent object? instructions: - text: Move expense {ID} to {expObjCode} {objID}. slots: ID: query.ID expObjCode: query.expObjCode objID: query.objID - text: Reassign expense {ID} under object {objID}. slots: ID: query.ID objID: query.objID method: generated generated: '2026-09-26'