Adobe Suite · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Adobe Workfront Program API
23 actions
23 updates
phrasing
extends
openapi/adobe-suite-program-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 23 · first 16 shown; the file carries all of them
$.info
$.paths['/program/{id}'].get
$.paths['/program/{id}'].put
$.paths['/program/{id}'].delete
$.paths['/program'].get
$.paths['/program'].put
$.paths['/program'].post
$.paths['/program'].delete
$.paths['/program/count'].get
$.paths['/program/search'].get
$.paths['/program/report'].get
$.paths['/program/{id}/share'].put
$.paths['/program/share'].put
$.paths['/program/{id}/unshare'].put
$.paths['/program/unshare'].put
$.paths['/program/{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 Program API
version: 1.0.0
extends: openapi/adobe-suite-program-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: 22
- target: $.paths['/program/{id}'].get
update:
x-apievangelist-phrasing:
intent: Look up one Workfront program
effect: read
questions:
- How do I pull up a single program in Workfront by its ID?
- Can I choose which fields come back when I fetch one program?
instructions:
- text: Show me program {id}.
slots:
id: path.id
- text: Get program {id} with only the fields {fields}.
slots:
id: path.id
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/program/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update one program
effect: write
questions:
- Can I change the details of an existing program by its ID?
- What call edits a single program record?
instructions:
- text: Edit program {id} with my changes.
slots:
id: path.id
- text: Update program {id} and return {fields} afterwards.
slots:
id: path.id
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/program/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one program
effect: destructive
questions:
- How do I delete a single program?
- Is there a force option when removing a program that others depend on?
instructions:
- text: Delete program {id}.
slots:
id: path.id
- text: Force-delete program {id} with force set to {force}.
slots:
id: path.id
force: query.force
method: generated
generated: '2026-09-26'
- target: $.paths['/program'].get
update:
x-apievangelist-phrasing:
intent: Fetch several programs by their IDs
effect: read
questions:
- Can I load a batch of programs at once if I already know their IDs?
- Which request returns multiple specific programs in one go?
instructions:
- text: Fetch programs {id}.
slots:
id: query.id
- text: Get programs {id} showing just {fields}.
slots:
id: query.id
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/program'].put
update:
x-apievangelist-phrasing:
intent: Update many programs in one request
effect: write
questions:
- Is there a bulk edit for programs?
- Can I push the same changes to a whole set of programs at once?
instructions:
- text: Bulk edit these programs with my changes.
- text: Apply my updates to several programs and return {fields}.
slots:
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/program'].post
update:
x-apievangelist-phrasing:
intent: Create a program
effect: write
questions:
- How do I set up a new program to group projects?
- Can I create a program and get specific fields back in the response?
instructions:
- text: Create a new program.
- text: Create a program and return {fields}.
slots:
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/program'].delete
update:
x-apievangelist-phrasing:
intent: Delete many programs at once
effect: destructive
questions:
- Can I delete a list of programs in one request?
- What happens if I bulk delete programs with the force flag?
instructions:
- text: Delete programs {id}.
slots:
id: query.id
- text: Bulk delete programs {id} with force {force}.
slots:
id: query.id
force: query.force
method: generated
generated: '2026-09-26'
- target: $.paths['/program/count'].get
update:
x-apievangelist-phrasing:
intent: Count programs matching filters
effect: read
questions:
- How many programs do we have in Workfront?
- Can I count only the programs that match a filter?
instructions:
- text: Count all programs.
- text: Count programs matching {filters}.
slots:
filters: query.filters
method: generated
generated: '2026-09-26'
- target: $.paths['/program/search'].get
update:
x-apievangelist-phrasing:
intent: Search programs by criteria
effect: read
questions:
- Which programs match a given set of filters?
- Can I search programs and page through the results?
instructions:
- text: Search programs where {filters}.
slots:
filters: query.filters
- text: Find programs matching {filters} and return {fields}.
slots:
filters: query.filters
fields: query.fields
method: generated
generated: '2026-09-26'
- target: $.paths['/program/report'].get
update:
x-apievangelist-phrasing:
intent: Run a grouped report on programs
effect: read
questions:
- Can I get an aggregated report of programs instead of raw records?
- What does a program report grouped by filters look like?
instructions:
- text: Run a program report filtered by {filters}.
slots:
filters: query.filters
- text: Build a program report with list options {listOptions}.
slots:
listOptions: query.listOptions
method: generated
generated: '2026-09-26'
- target: $.paths['/program/{id}/share'].put
update:
x-apievangelist-phrasing:
intent: Share a program with a user or team
effect: write
questions:
- How do I give someone access to a specific program?
- Can I share a program but forbid certain actions?
instructions:
- text: Share program {id} with {accessorObjCode} {accessorID} at {coreAction} access.
slots:
id: path.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
coreAction: query.coreAction
- text: Grant {accessorID} {coreAction} on program {id} as a {accessorObjCode}, blocking {forbiddenActions}.
slots:
id: path.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/program/share'].put
update:
x-apievangelist-phrasing:
intent: Share several programs with one accessor
effect: write
questions:
- Can I share a batch of programs with the same person in one call?
- What is the bulk way to grant access to many programs?
instructions:
- text: Share programs {id} with {accessorObjCode} {accessorID} at {coreAction} level.
slots:
id: query.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
coreAction: query.coreAction
- text: Grant {coreAction} on all of programs {id} to {accessorID} ({accessorObjCode}).
slots:
id: query.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
coreAction: query.coreAction
method: generated
generated: '2026-09-26'
- target: $.paths['/program/{id}/unshare'].put
update:
x-apievangelist-phrasing:
intent: Remove someone's access to a program
effect: destructive
questions:
- How do I stop sharing a program with a particular user?
- Can I revoke a team's access to one program?
instructions:
- text: Unshare program {id} from {accessorObjCode} {accessorID}.
slots:
id: path.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
- text: Revoke {accessorID}'s access to program {id}; they are a {accessorObjCode}.
slots:
id: path.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
method: generated
generated: '2026-09-26'
- target: $.paths['/program/unshare'].put
update:
x-apievangelist-phrasing:
intent: Revoke access to several programs at once
effect: destructive
questions:
- Can I pull one user's access from many programs in a single request?
- Is there a bulk unshare for programs?
instructions:
- text: Unshare programs {id} from {accessorObjCode} {accessorID}.
slots:
id: query.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
- text: Remove {accessorID} ({accessorObjCode}) from every program in {id}.
slots:
id: query.id
accessorObjCode: query.accessorObjCode
accessorID: query.accessorID
method: generated
generated: '2026-09-26'
- target: $.paths['/program/{id}/sharePublic'].put
update:
x-apievangelist-phrasing:
intent: Make a program publicly shared
effect: write
questions:
- Can I share a program publicly with everyone rather than one person?
- What access level can I give when publicly sharing a program?
instructions:
- text: Publicly share program {id} with {coreAction} access.
slots:
id: path.id
coreAction: query.coreAction
- text: Share program {id} publicly at {coreAction}, forbidding {forbiddenActions}.
slots:
id: path.id
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/program/sharePublic'].put
update:
x-apievangelist-phrasing:
intent: Publicly share several programs
effect: write
questions:
- Is there a bulk way to make many programs public?
- Can I publicly share a list of programs with the same access level?
instructions:
- text: Publicly share programs {id} with {coreAction} access.
slots:
id: query.id
coreAction: query.coreAction
- text: Make programs {id} public at {coreAction} but block {forbiddenActions}.
slots:
id: query.id
coreAction: query.coreAction
forbiddenActions: query.forbiddenActions
method: generated
generated: '2026-09-26'
- target: $.paths['/program/{id}/unsharePublic'].put
update:
x-apievangelist-phrasing:
intent: Remove public sharing from a program
effect: destructive
questions:
- How do I make a public program private again?
- Can I turn off public access to one program?
instructions:
- text: Remove public sharing from program {id}.
slots:
id: path.id
- text: Stop publicly sharing program {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/program/unsharePublic'].put
update:
x-apievangelist-phrasing:
intent: Remove public sharing from several programs
effect: destructive
questions:
- Can I switch off public sharing for a batch of programs together?
- What's the bulk call to make public programs private?
instructions:
- text: Remove public sharing from programs {id}.
slots:
id: query.id
- text: Make programs {id} no longer public.
slots:
id: query.id
method: generated
generated: '2026-09-26'
- target: $.paths['/program/calculateDataExtension'].put
update:
x-apievangelist-phrasing:
intent: Recalculate a program's custom data
effect: write
questions:
- How do I force Workfront to recalculate calculated custom fields on a program?
- Can I refresh the custom form data extension values for a program?
instructions:
- text: Recalculate the custom data extension for program {ID}.
slots:
ID: query.ID
- text: Refresh calculated custom fields on program {ID}.
slots:
ID: query.ID
method: generated
generated: '2026-09-26'
- target: $.paths['/program/linkExternalObject'].put
update:
x-apievangelist-phrasing:
intent: Link a program to an external object
effect: write
questions:
- Can I attach an object from an outside integration to a program?
- What details do I need to link an external item to a program?
instructions:
- text: Link external object {linkedObjectID} to program {objID} via {integrationType}.
slots:
linkedObjectID: query.linkedObjectID
objID: query.objID
integrationType: query.integrationType
- text: Link program {objID} to external item {linkedObjectID} at {URL}.
slots:
objID: query.objID
linkedObjectID: query.linkedObjectID
URL: query.URL
method: generated
generated: '2026-09-26'
- target: $.paths['/program/move'].put
update:
x-apievangelist-phrasing:
intent: Move a program to another portfolio
effect: write
questions:
- How do I move a program into a different portfolio?
- Can I reassign which portfolio a program belongs to?
instructions:
- text: Move program {ID} to portfolio {portfolioID}.
slots:
ID: query.ID
portfolioID: query.portfolioID
- text: Move program {ID} into portfolio {portfolioID} with options {options}.
slots:
ID: query.ID
portfolioID: query.portfolioID
options: query.options
method: generated
generated: '2026-09-26'
- target: $.paths['/program/unlinkExternalObject'].put
update:
x-apievangelist-phrasing:
intent: Unlink an external object from a program
effect: destructive
questions:
- How do I detach a linked external item from a program?
- Can I remove an integration link from a program?
instructions:
- text: Unlink external object {linkedObjectID} from program {objID}.
slots:
linkedObjectID: query.linkedObjectID
objID: query.objID
- text: Remove the {integrationType} link {linkedObjectID} from program {objID}.
slots:
integrationType: query.integrationType
linkedObjectID: query.linkedObjectID
objID: query.objID
method: generated
generated: '2026-09-26'