Tray.ai · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Tray Ai Projects API
12 actions
12 updates
phrasing
extends
openapi/tray-ai-projects-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Tray.ai's API. It is a proposal applied on top of the contract, not a document Tray.ai publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/ '].post
$.paths['/ '].post
$.paths['/ '].post
$.paths['/projects/{projectId}/export'].post
$.paths['/projects/import'].post
$.paths['/core/v1/projects/{projectId}/versions/{versionNumber}'].post
$.paths['/core/v1/projects/{projectId}/versions'].get
$.paths['/core/v1/projects/{projectId}/versions/{versionNumber}/export'].get
$.paths['/core/v1/projects/{projectId}/imports/requirements'].post
$.paths['/core/v1/projects/{projectId}/imports/previews'].post
$.paths['/core/v1/projects/{projectId}/imports'].post
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 Tray Ai Projects API
version: 1.0.0
extends: openapi/tray-ai-projects-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: 11
- target: $.paths['/ '].post
update:
x-apievangelist-phrasing:
intent: Import a project via the embedded root endpoint
effect: write
questions:
- Can I import a project by posting to the embedded root endpoint with a master token?
- Which embedded root call loads a previously exported project into my account?
instructions:
- text: Post an import-project request to the embedded root with variables {variables}.
slots:
variables: requestBody.variables
- text: Import a project through the embedded root endpoint using my master token.
method: generated
generated: '2026-09-26'
- target: $.paths['/ '].post
update:
x-apievangelist-phrasing:
intent: Export a project via the embedded root endpoint
effect: read
questions:
- Is there an embedded root call that exports a whole project with a master token?
- How can I pull a project export out through the embedded root endpoint?
instructions:
- text: Post an export-project request to the embedded root for project {variables}.
slots:
variables: requestBody.variables
- text: Export the project through the embedded root endpoint with my master token.
method: generated
generated: '2026-09-26'
- target: $.paths['/ '].post
update:
x-apievangelist-phrasing:
intent: Export a project's config via the embedded root
effect: read
questions:
- Can I export only a project's configuration, not the whole project?
- Which embedded root call returns the config of a project?
instructions:
- text: Export the config for project {variables} through the embedded root endpoint.
slots:
variables: requestBody.variables
- text: Pull just the project configuration using my master token.
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{projectId}/export'].post
update:
x-apievangelist-phrasing:
intent: Export a project for environment promotion
effect: read
questions:
- How do I move a project from my staging workspace to production?
- Can I export a project version by project id to promote it between environments?
instructions:
- text: Export project {project} so I can promote it to production.
slots:
project: path.projectId
- text: Create a promotion export of project {project} from staging.
slots:
project: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/import'].post
update:
x-apievangelist-phrasing:
intent: Import exported project data into a workspace
effect: write
questions:
- Can I import exported project data into a different target workspace?
- What do I pass to bring a promoted project into production via /projects/import?
instructions:
- text: Import exported project data {data} into workspace {workspace}.
slots:
data: requestBody.exportedData
workspace: requestBody.workspaceId
- text: Promote the export {data} into my target workspace.
slots:
data: requestBody.exportedData
method: generated
generated: '2026-09-26'
- target: $.paths['/core/v1/projects/{projectId}/versions/{versionNumber}'].post
update:
x-apievangelist-phrasing:
intent: Save a project version
effect: write
questions:
- How do I snapshot a project's current state so I can release or roll back to it later?
- Can I give a saved project version a title and description?
instructions:
- text: Save project {project} as version {version} titled {title}.
slots:
project: path.projectId
version: path.versionNumber
title: requestBody.title
- text: Create version {version} of project {project} called {title} with notes {description}.
slots:
version: path.versionNumber
project: path.projectId
title: requestBody.title
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/core/v1/projects/{projectId}/versions'].get
update:
x-apievangelist-phrasing:
intent: List a project's saved versions
effect: read
questions:
- Which saved versions exist for my project?
- Can I page through a project's version history?
instructions:
- text: List the saved versions of project {project}.
slots:
project: path.projectId
- text: Show the first {count} versions of project {project}.
slots:
count: query.first
project: path.projectId
method: generated
generated: '2026-09-26'
- target: $.paths['/core/v1/projects/{projectId}/versions/{versionNumber}/export'].get
update:
x-apievangelist-phrasing:
intent: Export a specific project version as JSON
effect: read
questions:
- Can I download the JSON for one particular saved version of a project?
- What does a saved project version look like when exported?
instructions:
- text: Export version {version} of project {project} as JSON.
slots:
version: path.versionNumber
project: path.projectId
- text: Get the JSON of project {project} at saved version {version}.
slots:
project: path.projectId
version: path.versionNumber
method: generated
generated: '2026-09-26'
- target: $.paths['/core/v1/projects/{projectId}/imports/requirements'].post
update:
x-apievangelist-phrasing:
intent: Get the requirements to import a project
effect: read
questions:
- Which authentications and config mappings will an import need before I run it?
- What do I have to resolve before importing an exported project?
instructions:
- text: Check what authentications and config project {project} needs to import {export}.
slots:
project: path.projectId
export: requestBody.exportedProjectJson
- text: List import requirements for {export} into project {project} with connector mapping {connectors} and service mapping {services}.
slots:
export: requestBody.exportedProjectJson
project: path.projectId
connectors: requestBody.connectorMapping
services: requestBody.serviceMapping
method: generated
generated: '2026-09-26'
- target: $.paths['/core/v1/projects/{projectId}/imports/previews'].post
update:
x-apievangelist-phrasing:
intent: Preview the impact of a project import
effect: read
questions:
- What would change in my project and solution if I applied this import?
- Can I dry-run a project import before committing it?
instructions:
- text: Preview importing {export} into project {project} with auth resolution {auths}.
slots:
export: requestBody.exportedProjectJson
project: path.projectId
auths: requestBody.authenticationResolution
- text: Dry-run import of {export} into {project} using connector mapping {connectors} and service mapping {services}.
slots:
export: requestBody.exportedProjectJson
project: path.projectId
connectors: requestBody.connectorMapping
services: requestBody.serviceMapping
method: generated
generated: '2026-09-26'
- target: $.paths['/core/v1/projects/{projectId}/imports'].post
update:
x-apievangelist-phrasing:
intent: Import a project with dependency mappings
effect: write
questions:
- How do I apply an import to a project with my own config and authentication mappings?
- Can I override config values when importing into an existing project?
instructions:
- text: Import {export} into project {project}, resolving authentications with {auths}.
slots:
export: requestBody.exportedProjectJson
project: path.projectId
auths: requestBody.authenticationResolution
- text: Apply the import of {export} to {project} with config override {config}.
slots:
export: requestBody.exportedProjectJson
project: path.projectId
config: requestBody.configOverride
method: generated
generated: '2026-09-26'