Adobe Suite · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Sandbox User operations API

23 actions 23 updates phrasing extends openapi/adobe-suite-user-operations-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['/sandbox-management/'].get
$.paths['/exim/packages'].get
$.paths['/exim/packages'].put
$.paths['/exim/packages'].post
$.paths['/exim/packages/import'].put
$.paths['/exim/packages/jobs'].get
$.paths['/exim/packages/update'].put
$.paths['/exim/packages/{packageID}'].get
$.paths['/exim/packages/{packageID}'].delete
$.paths['/exim/packages/{packageID}/export'].get
$.paths['/exim/packages/{packageID}/import'].get
$.paths['/exim/packages/{packageID}/children'].post
$.paths['/exim/packages/payload/{packageID}'].get
$.paths['/exim/packages/preflight/{packageID}/export'].get
$.paths['/exim/handshake/bulkCreate'].post

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 Sandbox User operations API
  version: 1.0.0
extends: openapi/adobe-suite-user-operations-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['/sandbox-management/'].get
  update:
    x-apievangelist-phrasing:
      intent: List sandboxes available to the current user
      effect: read
      questions:
      - Which Experience Platform sandboxes can I access with my user token?
      - What sandboxes are available to me in my Adobe organization?
      instructions:
      - text: Show me every sandbox I have access to in organization {org}.
        slots:
          org: header.x-gw-ims-org-id
      - text: List the sandboxes available to my user account.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages'].get
  update:
    x-apievangelist-phrasing:
      intent: List sandbox tooling packages
      effect: read
      questions:
      - Which sandbox tooling packages have been created in my organization?
      - Can I see only the packages that are already published?
      instructions:
      - text: List the sandbox tooling packages with status {status}.
        slots:
          status: query.status
      - text: Show the first {limit} packages in sandbox {sandbox}, sorted by {orderBy}.
        slots:
          limit: query.limit
          sandbox: header.x-sandbox-name
          orderBy: query.orderBy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages'].put
  update:
    x-apievangelist-phrasing:
      intent: Add or remove artifacts in a package
      effect: write
      questions:
      - How do I add another artifact to a sandbox package I already created?
      - Can I remove an artifact from an existing package or change its metadata?
      instructions:
      - text: Update the artifacts and metadata of my existing package in sandbox {sandbox}.
        slots:
          sandbox: header.x-sandbox-name
      - text: Drop an artifact from an existing sandbox tooling package.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a multi-artifact sandbox package
      effect: write
      questions:
      - How do I bundle schemas and datasets from one sandbox into a package for export?
      - What's the difference between a PARTIAL and a FULL package type when creating one?
      instructions:
      - text: Create a {packageType} package called {name} from sandbox {sourceSandbox}.
        slots:
          packageType: requestBody.packageType
          name: requestBody.name
          sourceSandbox: requestBody.sourceSandbox
      - text: Create package {name} of type {packageType} containing artifacts {artifacts}.
        slots:
          name: requestBody.name
          packageType: requestBody.packageType
          artifacts: requestBody.artifacts
      - text: Create package {name} as {packageType} that expires at {expiry}.
        slots:
          name: requestBody.name
          packageType: requestBody.packageType
          expiry: requestBody.expiry
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/import'].put
  update:
    x-apievangelist-phrasing:
      intent: Submit a package import into a sandbox
      effect: write
      questions:
      - Once I've reviewed conflicts, how do I actually import a published package into a sandbox?
      - Can I map conflicting artifacts to existing alternatives when I submit an import?
      instructions:
      - text: Import package {id} into sandbox {destinationSandbox}.
        slots:
          id: requestBody.id
          destinationSandbox: requestBody.destinationSandbox
      - text: Submit the import of package {id} into {destinationSandbox} using replacements {alternatives}.
        slots:
          id: requestBody.id
          destinationSandbox: requestBody.destinationSandbox
          alternatives: requestBody.alternatives
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/jobs'].get
  update:
    x-apievangelist-phrasing:
      intent: List sandbox export and import jobs
      effect: read
      questions:
      - Which sandbox export or import jobs are running or have failed?
      - Can I filter sandbox tooling jobs to only copies or only imports?
      instructions:
      - text: List all {requestType} jobs with job status {jobStatus}.
        slots:
          requestType: query.requestType
          jobStatus: query.jobStatus
      - text: Show the latest {limit} export and import jobs in sandbox {sandbox}.
        slots:
          limit: query.limit
          sandbox: header.x-sandbox-name
      - text: Find sandbox tooling jobs of type {jobType}.
        slots:
          jobType: query.jobType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/update'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a package's visibility to public
      effect: write
      questions:
      - How do I make a private sandbox package public so other organizations can pull it?
      - Can I change who sees a package after it is published?
      instructions:
      - text: Make package {id} public.
        slots:
          id: requestBody.id
      - text: Set the visibility of package {id} to {packageVisibility} with action {action}.
        slots:
          id: requestBody.id
          packageVisibility: requestBody.packageVisibility
          action: requestBody.action
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/{packageID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a sandbox package
      effect: read
      questions:
      - What artifacts and status does a specific sandbox package have?
      - Can I check when a given package expires?
      instructions:
      - text: Show me the details of package {packageID}.
        slots:
          packageID: path.packageID
      - text: Look up package {packageID} and tell me its status.
        slots:
          packageID: path.packageID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/{packageID}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a sandbox package
      effect: destructive
      questions:
      - How do I get rid of a sandbox package I no longer need?
      - Is deleting a sandbox tooling package permanent?
      instructions:
      - text: Delete package {packageID}.
        slots:
          packageID: path.packageID
      - text: Remove the sandbox tooling package {packageID} for good.
        slots:
          packageID: path.packageID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/{packageID}/export'].get
  update:
    x-apievangelist-phrasing:
      intent: Publish a package so it can be imported
      effect: write
      questions:
      - What does a package need before I can publish it for import?
      - Can I set how many days a published package stays valid?
      instructions:
      - text: Publish package {packageID}.
        slots:
          packageID: path.packageID
      - text: Publish package {packageID} with an expiry of {expiryPeriod} days.
        slots:
          packageID: path.packageID
          expiryPeriod: query.expiryPeriod
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/{packageID}/import'].get
  update:
    x-apievangelist-phrasing:
      intent: Preview import conflicts in a target sandbox
      effect: read
      questions:
      - Before importing a package, how can I see which objects already exist in the target sandbox?
      - Which artifacts in a package would conflict with what's in my destination sandbox?
      instructions:
      - text: Check package {packageID} for conflicts in sandbox {targetSandbox}.
        slots:
          packageID: path.packageID
          targetSandbox: query.targetSandbox
      - text: Show the conflicting objects if I import {packageID} into {targetSandbox}.
        slots:
          packageID: path.packageID
          targetSandbox: query.targetSandbox
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/{packageID}/children'].post
  update:
    x-apievangelist-phrasing:
      intent: List dependent objects of a package
      effect: read
      questions:
      - Which dependent objects come along with the artifacts in my package?
      - Why can't I list dependencies for a package still in DRAFT?
      instructions:
      - text: List all dependent objects for the artifacts in package {packageID}.
        slots:
          packageID: path.packageID
      - text: Find what package {packageID} depends on.
        slots:
          packageID: path.packageID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/payload/{packageID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Copy a package's payload
      effect: read
      questions:
      - How can I get the raw payload of a sandbox package to copy it?
      - Can I pull the full payload of a package by its ID?
      instructions:
      - text: Copy the payload of package {packageID}.
        slots:
          packageID: path.packageID
      - text: Fetch the package payload for {packageID}.
        slots:
          packageID: path.packageID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/packages/preflight/{packageID}/export'].get
  update:
    x-apievangelist-phrasing:
      intent: Check permissions to import package artifacts
      effect: read
      questions:
      - Do I have the role-based permissions needed to import every artifact in a package?
      - Can I preflight an import to catch permission errors before running it?
      instructions:
      - text: Check whether I'm allowed to import package {packageID} into {targetSandbox}.
        slots:
          packageID: path.packageID
          targetSandbox: query.targetSandbox
      - text: Run a permissions preflight for package {packageID} targeting sandbox {targetSandbox}.
        slots:
          packageID: path.packageID
          targetSandbox: query.targetSandbox
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/handshake/bulkCreate'].post
  update:
    x-apievangelist-phrasing:
      intent: Send partnership requests to other organizations
      effect: write
      questions:
      - What do I need to do before I can share private packages with another Adobe organization?
      - How do I ask partner orgs to set up a sandbox sharing partnership?
      instructions:
      - text: Send a partnership request from {sourceIMSDetails} to organizations {targetIMSOrgIds}.
        slots:
          sourceIMSDetails: requestBody.sourceIMSDetails
          targetIMSOrgIds: requestBody.targetIMSOrgIds
      - text: Request a package-sharing partnership with orgs {targetIMSOrgIds}.
        slots:
          targetIMSOrgIds: requestBody.targetIMSOrgIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/handshake/action'].post
  update:
    x-apievangelist-phrasing:
      intent: Approve or act on a partnership request
      effect: write
      questions:
      - How do I accept an incoming partnership request so a partner can share private packages with us?
      - Can I include a reason when I respond to a partnership request?
      instructions:
      - text: Set partnership {linkingID} to {status} with reason {reason}.
        slots:
          linkingID: requestBody.linkingID
          status: requestBody.status
          reason: requestBody.reason
      - text: Approve partnership request {linkingID} on behalf of {targetIMSOrgDetails}.
        slots:
          linkingID: requestBody.linkingID
          targetIMSOrgDetails: requestBody.targetIMSOrgDetails
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/handshake/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List incoming or outgoing partnership requests
      effect: read
      questions:
      - Which partnership requests have other organizations sent us?
      - What's the status of the partnership requests we sent out?
      instructions:
      - text: List all {requestType} partnership requests.
        slots:
          requestType: query.requestType
      - text: Show {requestType} partnership requests matching {property}, newest first.
        slots:
          requestType: query.requestType
          property: query.property
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/transfer'].post
  update:
    x-apievangelist-phrasing:
      intent: Share a published package with other organizations
      effect: write
      questions:
      - How do I share a published sandbox package with another organization?
      - Can I send one package to several target organizations at once?
      instructions:
      - text: Share package {packageId} with organizations {targets}.
        slots:
          packageId: requestBody.packageId
          targets: requestBody.targets
      - text: Create a share request sending package {packageId} to {targets}.
        slots:
          packageId: requestBody.packageId
          targets: requestBody.targets
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/transfer/{transferID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of a package share request
      effect: read
      questions:
      - What's the status of a specific package share request?
      - Which organizations did a given share request target?
      instructions:
      - text: Show share request {transferID}.
        slots:
          transferID: path.transferID
      - text: Get the details of package transfer {transferID}.
        slots:
          transferID: path.transferID
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/transfer/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List package share requests
      effect: read
      questions:
      - Which public or private package share requests exist for my org?
      - Can I filter the share request list by name?
      instructions:
      - text: List all {requestType} share requests.
        slots:
          requestType: query.requestType
      - text: Show {limit} {requestType} share requests matching {property}.
        slots:
          limit: query.limit
          requestType: query.requestType
          property: query.property
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/transfer/pullRequest'].post
  update:
    x-apievangelist-phrasing:
      intent: Import a public package from another organization
      effect: write
      questions:
      - How do I pull a public package that another organization has shared?
      - Can my organization import a shared public package by its ID?
      instructions:
      - text: Import public package {packageId} into org {imsOrgId}.
        slots:
          packageId: requestBody.packageId
          imsOrgId: requestBody.imsOrgId
      - text: Pull the shared public package {packageId} from its source organization for org {imsOrgId}.
        slots:
          packageId: requestBody.packageId
          imsOrgId: requestBody.imsOrgId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/exim/tools/job/{jobID}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of a sandbox tooling job
      effect: read
      questions:
      - Did my sandbox export or import job succeed?
      - What went wrong with a specific import job?
      instructions:
      - text: Show the details of sandbox tooling job {jobID}.
        slots:
          jobID: path.jobID
      - text: Check whether job {jobID} has finished.
        slots:
          jobID: path.jobID
      method: generated
      generated: '2026-09-26'