Adobe Suite · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Adobe Workfront Optask API
42 actions
42 updates
phrasing
extends
openapi/adobe-suite-optask-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Adobe Suite's API. It is a proposal applied on top of the contract, not a document Adobe Suite publishes.
What the actions change
x-apievangelist-phrasing
Targets 42 · first 16 shown; the file carries all of them
$.info
$.paths['/optask/{id}'].get
$.paths['/optask/{id}'].put
$.paths['/optask/{id}'].delete
$.paths['/optask'].get
$.paths['/optask'].put
$.paths['/optask'].post
$.paths['/optask'].delete
$.paths['/optask/count'].get
$.paths['/optask/search'].get
$.paths['/optask/report'].get
$.paths['/optask/{id}/share'].put
$.paths['/optask/share'].put
$.paths['/optask/{id}/unshare'].put
$.paths['/optask/unshare'].put
$.paths['/optask/{id}/sharePublic'].put
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 Adobe Workfront Optask API
version: 1.0.0
extends: openapi/adobe-suite-optask-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: 41
- target: $.paths['/optask/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get one Workfront issue by ID
effect: read
questions:
- How do I fetch a single Workfront issue when I already know its ID?
- Can I choose which fields come back when reading one issue?
instructions:
- text: Show me issue {id}.
slots:
id: path.id
- text: Get issue {id} with only the fields {fields}.
slots:
id: path.id
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/{id}'].put
update:
x-apievangelist-phrasing:
intent: Edit a single issue
effect: write
questions:
- What call changes the fields on one specific issue?
- Can I update just one issue without touching the others?
instructions:
- text: Update issue {id} with my changes.
slots:
id: path.id
- text: Edit issue {id} and return the fields {fields} afterwards.
slots:
id: path.id
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a single issue
effect: destructive
questions:
- How do I delete one issue by its ID?
- Is there a way to force-delete an issue that has dependent objects?
instructions:
- text: Delete issue {id}.
slots:
id: path.id
- text: Force delete issue {id} with force set to {force}.
slots:
id: path.id
force: query.force
method: generated
generated: '2026-09-26'
- target: $.paths['/optask'].get
update:
x-apievangelist-phrasing:
intent: Get several issues by their IDs
effect: read
questions:
- Can I load a batch of issues in one request if I have a list of IDs?
- Which call returns multiple specific issues at once?
instructions:
- text: Fetch the issues with IDs {id}.
slots:
id: query.id
- text: Bulk get issues {id} returning the fields {fields}.
slots:
id: query.id
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/optask'].put
update:
x-apievangelist-phrasing:
intent: Bulk edit many issues at once
effect: write
questions:
- How do I apply the same change to lots of issues in one request?
- Is there a bulk update for issues instead of editing them one by one?
instructions:
- text: Bulk update this batch of issues with the edits I give you.
- text: Bulk edit these issues and return the fields {fields}.
slots:
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/optask'].post
update:
x-apievangelist-phrasing:
intent: Create or copy an issue
effect: write
questions:
- How do I log a new issue in Adobe Workfront through the API?
- Can I create an issue by copying an existing one?
instructions:
- text: Create a new issue with the details I provide.
- text: Create a new issue as a copy of issue {copySourceID}.
slots:
copySourceID: query.copySourceID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete several issues
effect: destructive
questions:
- Can I delete a whole list of issues in a single call?
- What happens if I need to force-delete multiple issues together?
instructions:
- text: 'Delete all of these issues: {id}.'
slots:
id: query.id
- text: Bulk force delete issues {id} with force {force}.
slots:
id: query.id
force: query.force
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/count'].get
update:
x-apievangelist-phrasing:
intent: Count issues matching a filter
effect: read
questions:
- How many issues match a given filter?
- Can I get just a count of open issues without pulling the records?
instructions:
- text: Count the issues that match {filters}.
slots:
filters: query.filters
- text: Tell me the total number of issues.
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/search'].get
update:
x-apievangelist-phrasing:
intent: Search issues with filters
effect: read
questions:
- How do I find issues that match certain criteria?
- Can I sort and page through issue search results?
instructions:
- text: Search issues where {filters}.
slots:
filters: query.filters
- text: Search issues matching {filters} using list options {listOptions}.
slots:
filters: query.filters
listOptions: query.listOptions
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/report'].get
update:
x-apievangelist-phrasing:
intent: Run an aggregate report on issues
effect: read
questions:
- Can I get grouped or aggregated report data about issues?
- What returns a report of issues rather than the raw records?
instructions:
- text: Run an issue report filtered by {filters}.
slots:
filters: query.filters
- text: Build a report on issues grouped using list options {listOptions}.
slots:
listOptions: query.listOptions
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/{id}/share'].put
update:
x-apievangelist-phrasing:
intent: Share one issue with a user or group
effect: write
questions:
- How do I give a specific user access to one issue?
- Can I share an issue but forbid some actions like deleting it?
instructions:
- text: Share issue {id} with {accessorObjCode} {accessorID} granting {coreAction} access.
slots:
id: path.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
coreAction: query.coreAction
- text: Share issue {id} with user {accessorID} as {accessorObjCode} at level {coreAction}, forbidding {forbiddenActions}.
slots:
id: path.id
accessorID: query.accessorID
accessorObjCode: query.accessorObjCode
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/share'].put
update:
x-apievangelist-phrasing:
intent: Share several issues with one accessor
effect: write
questions:
- Can I grant a team access to a batch of issues in one request?
- Which call shares multiple issues with the same person at once?
instructions:
- text: Share issues {id} with {accessorObjCode} {accessorID} at {coreAction} access.
slots:
id: query.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
coreAction: query.coreAction
- text: Batch share issues {id} with team {accessorID} ({accessorObjCode}) as {coreAction} but forbid {forbiddenActions}.
slots:
id: query.id
accessorID: query.accessorID
accessorObjCode: query.accessorObjCode
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/{id}/unshare'].put
update:
x-apievangelist-phrasing:
intent: Remove someone's access to one issue
effect: destructive
questions:
- How do I stop sharing a single issue with a user?
- Can I revoke one team's access to an issue I shared earlier?
instructions:
- text: Unshare issue {id} from {accessorObjCode} {accessorID}.
slots:
id: path.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
- text: Revoke user {accessorID}'s access to issue {id} (accessor type {accessorObjCode}).
slots:
accessorID: query.accessorID
id: path.id
accessorObjCode: query.accessorObjCode
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/unshare'].put
update:
x-apievangelist-phrasing:
intent: Remove someone's access to several issues
effect: destructive
questions:
- Can I revoke a user's access to many issues in one go?
- What un-shares a batch of issues from the same accessor?
instructions:
- text: Unshare issues {id} from {accessorObjCode} {accessorID}.
slots:
id: query.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
- text: Batch revoke access for {accessorID} ({accessorObjCode}) on all of issues {id}.
slots:
accessorID: query.accessorID
accessorObjCode: query.accessorObjCode
id: query.id
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/{id}/sharePublic'].put
update:
x-apievangelist-phrasing:
intent: Make one issue publicly shared
effect: write
questions:
- How do I share an issue publicly instead of with named users?
- Can a public share of an issue be limited to view-only?
instructions:
- text: Share issue {id} publicly with {coreAction} access.
slots:
id: path.id
coreAction: query.coreAction
- text: Publicly share issue {id} at {coreAction} while forbidding {forbiddenActions}.
slots:
id: path.id
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/sharePublic'].put
update:
x-apievangelist-phrasing:
intent: Publicly share several issues
effect: write
questions:
- Can I make a whole set of issues public in one request?
- Which call applies a public share to multiple issues together?
instructions:
- text: Publicly share issues {id} with {coreAction} access.
slots:
id: query.id
coreAction: query.coreAction
- text: Batch public share issues {id} at {coreAction}, forbidding {forbiddenActions}.
slots:
id: query.id
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/{id}/unsharePublic'].put
update:
x-apievangelist-phrasing:
intent: Turn off public sharing on one issue
effect: destructive
questions:
- How do I make a publicly shared issue private again?
- Can I remove the public link from a single issue?
instructions:
- text: Stop publicly sharing issue {id}.
slots:
id: path.id
- text: Remove the public share from issue {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/unsharePublic'].put
update:
x-apievangelist-phrasing:
intent: Turn off public sharing on several issues
effect: destructive
questions:
- Can I pull public access from many issues at once?
- What removes public shares from a batch of issues?
instructions:
- text: Remove public sharing from issues {id}.
slots:
id: query.id
- text: Batch un-share issues {id} from the public.
slots:
id: query.id
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/acceptWork'].put
update:
x-apievangelist-phrasing:
intent: Accept work on an issue
effect: write
questions:
- How do I accept an issue that was assigned to me?
- Can I set a status when I accept work on an issue?
instructions:
- text: Accept the work on issue {ID}.
slots:
ID: query.ID
- text: Accept work on issue {ID} and set its status to {status}.
slots:
ID: query.ID
status: query.status
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/approveApproval'].put
update:
x-apievangelist-phrasing:
intent: Approve an issue's pending approval
effect: write
questions:
- How do I approve an issue that is waiting on my approval?
- Can I add an audit note and email it when approving an issue?
instructions:
- text: Approve the pending approval on issue {ID}.
slots:
ID: query.ID
- text: Approve issue {ID} with the note {auditNote} and email it to the reviewers.
slots:
ID: query.ID
auditNote: query.auditNote
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/assign'].put
update:
x-apievangelist-phrasing:
intent: Assign an issue to a user, role or team
effect: write
questions:
- How do I assign an issue to a single person or team?
- Can an issue be assigned to a job role instead of a user?
instructions:
- text: Assign issue {ID} to {objCode} {objID}.
slots:
ID: query.ID
objCode: query.objCode
objID: query.objID
- text: Give issue {ID} to user {objID}.
slots:
ID: query.ID
objID: query.objID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/assignMultiple'].put
update:
x-apievangelist-phrasing:
intent: Assign an issue to several people, roles or teams
effect: write
questions:
- Can one issue have multiple assignees at the same time?
- How do I assign an issue to a list of users plus a team?
instructions:
- text: Assign issue {ID} to users {userIDs}.
slots:
ID: query.ID
userIDs: query.userIDs
- text: Assign issue {ID} to roles {roleIDs} and teams {teamIDs}.
slots:
ID: query.ID
roleIDs: query.roleIDs
teamIDs: query.teamIDs
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/bulkMove'].put
update:
x-apievangelist-phrasing:
intent: Move many issues to another project
effect: write
questions:
- How do I move a batch of issues into a different project?
- Can I move several issues under a new parent task at once?
instructions:
- text: Move issues {issueIDs} to project {projectID}.
slots:
issueIDs: query.issueIDs
projectID: query.projectID
- text: Bulk move issues {issueIDs} under parent {parentID}.
slots:
issueIDs: query.issueIDs
parentID: query.parentID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/bulkMoveWithOptions'].put
update:
x-apievangelist-phrasing:
intent: Bulk move issues with rename and options
effect: write
questions:
- Can I rename issues while moving them to another project?
- Which move call lets me pass extra options for what gets carried over?
instructions:
- text: Move issues {IDs} to project {projectID} and rename them {newName}.
slots:
IDs: query.IDs
projectID: query.projectID
newName: query.newName
- text: Bulk move issues {IDs} under parent {parentID} with options {options}.
slots:
IDs: query.IDs
parentID: query.parentID
options: query.options
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/calculateDataExtension'].put
update:
x-apievangelist-phrasing:
intent: Recalculate an issue's calculated custom fields
effect: write
questions:
- How do I force the calculated custom fields on an issue to refresh?
- Can I recompute custom form data on one issue?
instructions:
- text: Recalculate the custom data on issue {ID}.
slots:
ID: query.ID
- text: Refresh calculated custom fields for issue {ID}.
slots:
ID: query.ID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/convertToProject'].put
update:
x-apievangelist-phrasing:
intent: Convert an issue into a project
effect: write
questions:
- How do I turn an issue into a full project?
- Can I keep the issue's categories when converting it to a project?
instructions:
- text: Convert issue {ID} into a project.
slots:
ID: query.ID
- text: Convert issue {ID} to project {project} with exchange rate {exchangeRate}.
slots:
ID: query.ID
project: query.project
exchangeRate: query.exchangeRate
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/convertToTask'].put
update:
x-apievangelist-phrasing:
intent: Convert an issue into a task
effect: write
questions:
- Can an issue be converted into a task on the project plan?
- How do I convert an issue to a task and copy its native fields?
instructions:
- text: Convert issue {ID} into a task.
slots:
ID: query.ID
- text: Turn issue {ID} into task {task} using options {options}.
slots:
ID: query.ID
task: query.task
options: query.options
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/copyIssue'].put
update:
x-apievangelist-phrasing:
intent: Copy an issue into a project
effect: write
questions:
- How do I duplicate an issue with a new name?
- Can I copy an issue into another project under a specific parent?
instructions:
- text: Copy issue {opTaskID} and name the copy {name}.
slots:
opTaskID: query.opTaskID
name: query.name
- text: Copy issue {opTaskID} into project {projectID} under parent {parentID}.
slots:
opTaskID: query.opTaskID
projectID: query.projectID
parentID: query.parentID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/getRequestPath'].put
update:
x-apievangelist-phrasing:
intent: Get the request path for a queue topic
effect: read
questions:
- How do I find the request path a queue topic belongs to?
- What is the breadcrumb path for a request queue topic?
instructions:
- text: Get the request path for queue topic {queueTopicID}.
slots:
queueTopicID: query.queueTopicID
- text: Show the request path for queue definition {queueDef}.
slots:
queueDef: query.queueDef
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/linkExternalObject'].put
update:
x-apievangelist-phrasing:
intent: Link an external object to an issue
effect: write
questions:
- Can I attach a link to an external system record on an issue?
- How do I connect an issue to an object in an integration by URL?
instructions:
- text: Link external object {linkedObjectID} to issue {objID} via {integrationType}.
slots:
linkedObjectID: query.linkedObjectID
objID: query.objID
integrationType: query.integrationType
- text: Link issue {objID} to the external item at {URL}.
slots:
objID: query.objID
URL: query.URL
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/markDone'].put
update:
x-apievangelist-phrasing:
intent: Mark an issue as done
effect: write
questions:
- How do I close out an issue as complete?
- Can I choose the final status when marking an issue done?
instructions:
- text: Mark issue {ID} as done.
slots:
ID: query.ID
- text: Complete issue {ID} with status {status}.
slots:
ID: query.ID
status: query.status
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/markNotDone'].put
update:
x-apievangelist-phrasing:
intent: Reopen an issue marked done
effect: write
questions:
- How do I undo marking an issue complete?
- Can I reopen an issue for a particular assignment?
instructions:
- text: Mark issue {ID} as not done.
slots:
ID: query.ID
- text: Reopen issue {ID} for assignment {assignmentID}.
slots:
ID: query.ID
assignmentID: query.assignmentID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/move'].put
update:
x-apievangelist-phrasing:
intent: Move one issue to another project
effect: write
questions:
- How do I move a single issue to a different project?
- Which call relocates one issue without converting it?
instructions:
- text: Move issue {ID} to project {projectID}.
slots:
ID: query.ID
projectID: query.projectID
- text: Relocate issue {ID} into project {projectID}.
slots:
ID: query.ID
projectID: query.projectID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/moveToTask'].put
update:
x-apievangelist-phrasing:
intent: Move an issue under a task
effect: write
questions:
- Can I move an issue so it sits under a specific task?
- How do I re-parent one issue onto a task in another project?
instructions:
- text: Move issue {ID} under task {parentID}.
slots:
ID: query.ID
parentID: query.parentID
- text: Put issue {ID} under task {parentID} in project {projectID}.
slots:
ID: query.ID
parentID: query.parentID
projectID: query.projectID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/recallApproval'].put
update:
x-apievangelist-phrasing:
intent: Recall an issue approval request
effect: write
questions:
- How do I withdraw an approval request I submitted on an issue?
- Can I recall an issue from its approval process?
instructions:
- text: Recall the approval on issue {ID}.
slots:
ID: query.ID
- text: Withdraw issue {ID} from approval.
slots:
ID: query.ID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/rejectApproval'].put
update:
x-apievangelist-phrasing:
intent: Reject an issue's pending approval
effect: write
questions:
- How do I reject an issue that is awaiting my approval?
- Can I explain why when rejecting an issue approval?
instructions:
- text: Reject the approval on issue {ID}.
slots:
ID: query.ID
- text: Reject issue {ID} with the reason {auditNote}.
slots:
ID: query.ID
auditNote: query.auditNote
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/replyToAssignment'].put
update:
x-apievangelist-phrasing:
intent: Reply to an issue assignment
effect: write
questions:
- How do I respond to an issue assignment with a note?
- Can I give a commit date when replying to an issue I was assigned?
instructions:
- text: Reply to the assignment on issue {ID} with {noteText}.
slots:
ID: query.ID
noteText: query.noteText
- text: Reply on issue {ID} committing to finish by {commitDate}.
slots:
ID: query.ID
commitDate: query.commitDate
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/unacceptWork'].put
update:
x-apievangelist-phrasing:
intent: Un-accept work on an issue
effect: write
questions:
- How do I undo accepting work on an issue?
- Can I hand an accepted issue back and change its status?
instructions:
- text: Un-accept the work on issue {ID}.
slots:
ID: query.ID
- text: Un-accept issue {ID} and set status {status}.
slots:
ID: query.ID
status: query.status
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/unassign'].put
update:
x-apievangelist-phrasing:
intent: Unassign a user from an issue
effect: write
questions:
- How do I remove a person from an issue's assignees?
- Can I take a user off an issue without deleting it?
instructions:
- text: Unassign user {userID} from issue {ID}.
slots:
userID: query.userID
ID: query.ID
- text: Remove the assignee from issue {ID}.
slots:
ID: query.ID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/unlinkExternalObject'].put
update:
x-apievangelist-phrasing:
intent: Unlink an external object from an issue
effect: write
questions:
- How do I remove a linked external record from an issue?
- Can I detach an integration link from an issue?
instructions:
- text: Unlink external object {linkedObjectID} from issue {objID}.
slots:
linkedObjectID: query.linkedObjectID
objID: query.objID
- text: Remove the {integrationType} link {linkedObjectID} from issue {objID}.
slots:
integrationType: query.integrationType
linkedObjectID: query.linkedObjectID
objID: query.objID
method: generated
generated: '2026-09-26'
- target: $.paths['/optask/defaultShownTimesheetIssues'].get
update:
x-apievangelist-phrasing:
intent: List issues shown by default on a timesheet
effect: read
questions:
- Which issues show up by default on my timesheet?
- What issues will a timesheet display for logging hours?
instructions:
- text: List the default issues shown on timesheet {timesheetID}.
slots:
timesheetID: query.timesheetID
- text: Show the issues I can log time against on my timesheet.
method: generated
generated: '2026-09-26'