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