Adobe Suite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Adobe Workfront Portfolio API

22 actions 22 updates phrasing extends openapi/adobe-suite-portfolio-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 22 · first 16 shown; the file carries all of them

$.info
$.paths['/portfolio/{id}'].get
$.paths['/portfolio/{id}'].put
$.paths['/portfolio/{id}'].delete
$.paths['/portfolio'].get
$.paths['/portfolio'].put
$.paths['/portfolio'].post
$.paths['/portfolio'].delete
$.paths['/portfolio/count'].get
$.paths['/portfolio/search'].get
$.paths['/portfolio/report'].get
$.paths['/portfolio/{id}/share'].put
$.paths['/portfolio/share'].put
$.paths['/portfolio/{id}/unshare'].put
$.paths['/portfolio/unshare'].put
$.paths['/portfolio/{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 Portfolio API
  version: 1.0.0
extends: openapi/adobe-suite-portfolio-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: 21
- target: $.paths['/portfolio/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one portfolio
      effect: read
      questions:
      - What's the call to pull up a single Workfront portfolio by its ID?
      - Can I limit which fields come back when I open one portfolio?
      instructions:
      - text: Show portfolio {id}.
        slots:
          id: path.id
      - text: Open portfolio {id} and return only {fields}.
        slots:
          id: path.id
          fields: query.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update one portfolio
      effect: write
      questions:
      - How do I change the details of an existing portfolio?
      - Can I edit a single portfolio and get specific fields back afterward?
      instructions:
      - text: Edit portfolio {id} with the changes I give you.
        slots:
          id: path.id
      - text: Update portfolio {id} and return {fields} after saving.
        slots:
          id: path.id
          fields: query.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one portfolio
      effect: destructive
      questions:
      - Can I remove a single portfolio I no longer need?
      - Is there a force option when deleting one portfolio?
      instructions:
      - text: Delete portfolio {id}.
        slots:
          id: path.id
      - text: Force-delete portfolio {id} with force set to {force}.
        slots:
          id: path.id
          force: query.force
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio'].get
  update:
    x-apievangelist-phrasing:
      intent: Fetch several portfolios by ID
      effect: read
      questions:
      - Can I retrieve a batch of portfolios in one call when I know their IDs?
      - Which call returns multiple known portfolios at once?
      instructions:
      - text: Fetch portfolios {id}.
        slots:
          id: query.id
      - text: Get the portfolios with IDs {id}, showing just {fields}.
        slots:
          id: query.id
          fields: query.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio'].put
  update:
    x-apievangelist-phrasing:
      intent: Update many portfolios at once
      effect: write
      questions:
      - How do I bulk edit several portfolios in a single request?
      - Can I push the same change across multiple portfolios together?
      instructions:
      - text: Apply these edits to all the portfolios I list.
      - text: Bulk update the portfolios and return {fields} for each.
        slots:
          fields: query.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a portfolio
      effect: write
      questions:
      - How do I set up a new portfolio to group my programs and projects?
      - What do I send to create a portfolio in Workfront?
      instructions:
      - text: Create a new portfolio with the name and details I provide.
      - text: Add a portfolio and return {fields} once it exists.
        slots:
          fields: query.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete many portfolios at once
      effect: destructive
      questions:
      - Can I bulk delete several portfolios by listing their IDs?
      - Is there a way to clear out a batch of old portfolios in one go?
      instructions:
      - text: Bulk delete portfolios {id}.
        slots:
          id: query.id
      - text: Remove every portfolio in {id} using force {force}.
        slots:
          id: query.id
          force: query.force
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count portfolios
      effect: read
      questions:
      - How many portfolios match a given filter?
      - Can I get just the total number of portfolios without the records?
      instructions:
      - text: Count portfolios where {filters}.
        slots:
          filters: query.filters
      - text: Tell me how many portfolios we have.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search portfolios
      effect: read
      questions:
      - What's the way to find portfolios by owner, status or other criteria?
      - Can I search portfolios with paging and sort options?
      instructions:
      - text: Search portfolios matching {filters}.
        slots:
          filters: query.filters
      - text: Find portfolios where {filters} and list {fields} for each.
        slots:
          filters: query.filters
          fields: query.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/report'].get
  update:
    x-apievangelist-phrasing:
      intent: Run an aggregate report on portfolios
      effect: read
      questions:
      - Can I get grouped totals across portfolios as a report?
      - Which call gives a report-style summary of portfolios?
      instructions:
      - text: Run a portfolio report filtered by {filters}.
        slots:
          filters: query.filters
      - text: Summarize portfolios as a report using {listOptions}.
        slots:
          listOptions: query.listOptions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/{id}/share'].put
  update:
    x-apievangelist-phrasing:
      intent: Share one portfolio with a user or team
      effect: write
      questions:
      - How do I give a colleague or team access to one of my portfolios?
      - Can I grant view-only access to a portfolio and forbid certain actions?
      instructions:
      - text: Share portfolio {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 portfolio {id} but forbid {forbiddenActions}.
        slots:
          accessorID: query.accessorID
          coreAction: query.coreAction
          id: path.id
          forbiddenActions: query.forbiddenActions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/share'].put
  update:
    x-apievangelist-phrasing:
      intent: Share several portfolios at once
      effect: write
      questions:
      - Can I share a whole set of portfolios with the same person in one request?
      - Is there a batch call to grant access to multiple portfolios?
      instructions:
      - text: Share portfolios {id} with {accessorObjCode} {accessorID} as {coreAction}.
        slots:
          id: query.id
          accessorObjCode: query.accessorObjCode
          accessorID: query.accessorID
          coreAction: query.coreAction
      - text: Batch share portfolios {id} to user {accessorID} with {coreAction} rights.
        slots:
          id: query.id
          accessorID: query.accessorID
          coreAction: query.coreAction
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/{id}/unshare'].put
  update:
    x-apievangelist-phrasing:
      intent: Remove someone's access to one portfolio
      effect: destructive
      questions:
      - How do I stop sharing a portfolio with a particular user?
      - Can I revoke a team's access to a single portfolio?
      instructions:
      - text: Unshare portfolio {id} from {accessorObjCode} {accessorID}.
        slots:
          id: path.id
          accessorObjCode: query.accessorObjCode
          accessorID: query.accessorID
      - text: Revoke {accessorID}'s access to portfolio {id}.
        slots:
          accessorID: query.accessorID
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/unshare'].put
  update:
    x-apievangelist-phrasing:
      intent: Remove access to several portfolios at once
      effect: destructive
      questions:
      - Can I pull one user's access from many portfolios in a single call?
      - How do I batch-revoke sharing across a list of portfolios?
      instructions:
      - text: Unshare portfolios {id} from {accessorObjCode} {accessorID}.
        slots:
          id: query.id
          accessorObjCode: query.accessorObjCode
          accessorID: query.accessorID
      - text: Batch revoke {accessorID} from every portfolio in {id}.
        slots:
          accessorID: query.accessorID
          id: query.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/{id}/sharePublic'].put
  update:
    x-apievangelist-phrasing:
      intent: Make one portfolio publicly shared
      effect: write
      questions:
      - Can I publish a portfolio so anyone in the organization can see it?
      - Can I set a public share on a portfolio with restricted actions?
      instructions:
      - text: Share portfolio {id} publicly with {coreAction} access.
        slots:
          id: path.id
          coreAction: query.coreAction
      - text: Make portfolio {id} public as {coreAction}, forbidding {forbiddenActions}.
        slots:
          id: path.id
          coreAction: query.coreAction
          forbiddenActions: query.forbiddenActions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/sharePublic'].put
  update:
    x-apievangelist-phrasing:
      intent: Make several portfolios publicly shared
      effect: write
      questions:
      - Can I make a group of portfolios public in one request?
      - What's the batch call for publicly sharing many portfolios?
      instructions:
      - text: Publicly share portfolios {id} with {coreAction} access.
        slots:
          id: query.id
          coreAction: query.coreAction
      - text: Batch publish portfolios {id} as {coreAction} but block {forbiddenActions}.
        slots:
          id: query.id
          coreAction: query.coreAction
          forbiddenActions: query.forbiddenActions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/{id}/unsharePublic'].put
  update:
    x-apievangelist-phrasing:
      intent: Remove the public share from one portfolio
      effect: destructive
      questions:
      - What takes a portfolio out of public view again?
      - Can I turn off public sharing on just one portfolio?
      instructions:
      - text: Remove the public share from portfolio {id}.
        slots:
          id: path.id
      - text: Make portfolio {id} private again.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/unsharePublic'].put
  update:
    x-apievangelist-phrasing:
      intent: Remove public shares from several portfolios
      effect: destructive
      questions:
      - Can I switch off public sharing for many portfolios at once?
      - Which call batch-removes public access from a list of portfolios?
      instructions:
      - text: Remove public sharing from portfolios {id}.
        slots:
          id: query.id
      - text: Take portfolios {id} out of public view in one batch.
        slots:
          id: query.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/calculateDataExtension'].put
  update:
    x-apievangelist-phrasing:
      intent: Recalculate a portfolio's custom data
      effect: write
      questions:
      - How do I refresh calculated custom fields on a portfolio?
      - Can I force the data extension values on a portfolio to recompute?
      instructions:
      - text: Recalculate the custom data extension fields on portfolio {ID}.
        slots:
          ID: query.ID
      - text: Refresh calculated custom form values for portfolio {ID}.
        slots:
          ID: query.ID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/linkExternalObject'].put
  update:
    x-apievangelist-phrasing:
      intent: Link a portfolio to an external object
      effect: write
      questions:
      - How do I connect a portfolio to a record in an integrated external system?
      - Can I attach an external object URL to a portfolio by integration type?
      instructions:
      - text: Link portfolio {objID} to external object {linkedObjectID} via {integrationType}.
        slots:
          objID: query.objID
          linkedObjectID: query.linkedObjectID
          integrationType: query.integrationType
      - text: Attach external item {linkedObjectID} at {URL} to portfolio {objID}.
        slots:
          linkedObjectID: query.linkedObjectID
          URL: query.URL
          objID: query.objID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/portfolio/unlinkExternalObject'].put
  update:
    x-apievangelist-phrasing:
      intent: Unlink an external object from a portfolio
      effect: destructive
      questions:
      - Is it possible to disconnect a portfolio from an external system record?
      - Can I remove the integration link between a portfolio and an outside object?
      instructions:
      - text: Unlink external object {linkedObjectID} from portfolio {objID}.
        slots:
          linkedObjectID: query.linkedObjectID
          objID: query.objID
      - text: Remove the {integrationType} link on portfolio {objID}.
        slots:
          integrationType: query.integrationType
          objID: query.objID
      method: generated
      generated: '2026-09-26'