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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'