# 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 Workspaces API version: 1.0.0 extends: openapi/tray-ai-workspaces-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['/workspaces'].get update: x-apievangelist-phrasing: intent: List workspaces (unversioned) effect: read questions: - Which workspaces, like departments or dev and prod environments, does my organization have? - Can I list workspaces on the unversioned /workspaces endpoint? instructions: - text: List the workspaces in my organization from the unversioned endpoint. - text: Show my dev and prod workspaces. method: generated generated: '2026-09-26' - target: $.paths['/workspaces/{workspaceId}'].get update: x-apievangelist-phrasing: intent: Get a workspace by id (unversioned) effect: read questions: - What details does the unversioned workspace endpoint return for one id? - Can I look up a single workspace on /workspaces by its id? instructions: - text: Get workspace {workspace} from the unversioned endpoint. slots: workspace: path.workspaceId - text: Show unversioned details for workspace id {workspace}. slots: workspace: path.workspaceId method: generated generated: '2026-09-26' - target: $.paths['/workspaces/{workspaceId}/users'].get update: x-apievangelist-phrasing: intent: List a workspace's users (unversioned) effect: read questions: - Who belongs to a given workspace, per the unversioned endpoint? - Can I list workspace members without paging, on the unversioned endpoint? instructions: - text: List users of workspace {workspace} from the unversioned endpoint. slots: workspace: path.workspaceId - text: Show everyone who belongs to workspace {workspace}, unversioned. slots: workspace: path.workspaceId method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces'].get update: x-apievangelist-phrasing: intent: List workspaces my token can access effect: read questions: - Does an org-scoped token list every workspace while a workspace token lists only one? - Can I filter workspaces by type in core v1? instructions: - text: List core v1 workspaces of type {type}. slots: type: query.type - text: Show every workspace this token can reach, {count} at a time. slots: count: query.first method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}'].get update: x-apievangelist-phrasing: intent: Get a workspace with core v1 effect: read questions: - What does core v1 return for a workspace id? - How do I read a single workspace through the core v1 API? instructions: - text: Get core v1 workspace {workspace}. slots: workspace: path.workspaceId - text: Fetch workspace {workspace} through core v1. slots: workspace: path.workspaceId method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}/users'].get update: x-apievangelist-phrasing: intent: List a workspace's users with core v1 effect: read questions: - Can I page through a workspace's members with a cursor in core v1? - Which users have access to a workspace, according to core v1? instructions: - text: List core v1 users in workspace {workspace}. slots: workspace: path.workspaceId - text: Show workspace {workspace} members after cursor {cursor}. slots: workspace: path.workspaceId cursor: query.cursor method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}/users'].post update: x-apievangelist-phrasing: intent: Add a user to a workspace effect: write questions: - How do I give an existing organization user access to a workspace? - Which role must I choose when adding someone to a workspace? instructions: - text: Add user {user} to workspace {workspace} with role {role}. slots: user: requestBody.userId workspace: path.workspaceId role: requestBody.roleId - text: Grant {user} role {role} in workspace {workspace}. slots: user: requestBody.userId role: requestBody.roleId workspace: path.workspaceId method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}/users/{userId}'].get update: x-apievangelist-phrasing: intent: Get one user's workspace membership effect: read questions: - What role does a specific user have in a workspace? - Is a given user a member of this workspace? instructions: - text: Get user {user} in workspace {workspace}. slots: user: path.userId workspace: path.workspaceId - text: Show {user}'s membership and role in workspace {workspace}. slots: user: path.userId workspace: path.workspaceId method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}/users/{userId}'].put update: x-apievangelist-phrasing: intent: Change a user's role in a workspace effect: write questions: - Can I change someone's role in one workspace only? - How do I give an existing workspace member a different workspace role? instructions: - text: Change user {user}'s role in workspace {workspace} to {role}. slots: user: path.userId workspace: path.workspaceId role: requestBody.roleId - text: Set workspace {workspace} role {role} for member {user}. slots: workspace: path.workspaceId role: requestBody.roleId user: path.userId method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}/users/{userId}'].delete update: x-apievangelist-phrasing: intent: Remove a user from a workspace effect: destructive questions: - Can I take someone out of a workspace without deleting them from the organization? - Which call revokes a user's workspace access? instructions: - text: Remove user {user} from workspace {workspace}. slots: user: path.userId workspace: path.workspaceId - text: Revoke {user}'s access to workspace {workspace}. slots: user: path.userId workspace: path.workspaceId method: generated generated: '2026-09-26' - target: $.paths['/core/v1/workspaces/{workspaceId}/roles'].get update: x-apievangelist-phrasing: intent: List roles available in a workspace effect: read questions: - Which roles can I assign inside a particular workspace? - Where do I find the role id for a workspace member? instructions: - text: List the roles for workspace {workspace}. slots: workspace: path.workspaceId - text: Show the first {count} workspace roles in {workspace}. slots: count: query.first workspace: path.workspaceId method: generated generated: '2026-09-26'