# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Synadia Control Plane / Synadia Cloud Team API version: 1.0.0 extends: openapi/synadia-communications-team-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 15 - target: $.paths['/core/beta/teams/{teamId}'].get update: x-apievangelist-phrasing: intent: Get a team effect: read questions: - Can I look up a team's details by its ID? - What's the name of a given team? instructions: - text: Show team {teamId}. slots: teamId: path.teamId - text: Get the details for team {teamId}. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}'].delete update: x-apievangelist-phrasing: intent: Delete a team effect: destructive questions: - Can I permanently delete a team? - What's the way to remove a team I no longer use? instructions: - text: Delete team {teamId}. slots: teamId: path.teamId - text: Remove team {teamId} permanently. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}'].patch update: x-apievangelist-phrasing: intent: Rename a team effect: write questions: - Can I change a team's name? - Is renaming a team possible after it's been created? instructions: - text: Rename team {teamId} to {name}. slots: teamId: path.teamId name: requestBody.name - text: Change the name of team {teamId} to {name}. slots: teamId: path.teamId name: requestBody.name method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/app-users'].get update: x-apievangelist-phrasing: intent: List a team's app users effect: read questions: - Who are the members of my team? - Can I see which app users belong to a team along with their roles? instructions: - text: List the app users on team {teamId}. slots: teamId: path.teamId - text: Show all members of team {teamId}. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/app-users/{appUserId}'].delete update: x-apievangelist-phrasing: intent: Remove a user from a team effect: destructive questions: - Can I remove someone from my team? - What's the way to kick an app user off a team? instructions: - text: Remove app user {appUserId} from team {teamId}. slots: appUserId: path.appUserId teamId: path.teamId - text: Unassign {appUserId} from team {teamId}. slots: appUserId: path.appUserId teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/app-users/{appUserId}'].patch update: x-apievangelist-phrasing: intent: Change a user's role on a team effect: write questions: - Can I promote a team member to a different role? - Is it possible to change an existing member's team role? instructions: - text: Change app user {appUserId}'s role on team {teamId} to {role_id}. slots: appUserId: path.appUserId teamId: path.teamId role_id: requestBody.role_id - text: Set team {teamId} member {appUserId} to role {role_id}. slots: teamId: path.teamId appUserId: path.appUserId role_id: requestBody.role_id method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/app-users/invitations'].post update: x-apievangelist-phrasing: intent: Invite a user to a team effect: write questions: - How do I invite a colleague to join my team? - Will inviting someone who's already on the team downgrade their role? - Can an invitation also grant access to specific systems or accounts? instructions: - text: Invite {name} at {identifier} to team {teamId} as {role_id}. slots: name: requestBody.name identifier: requestBody.identifier teamId: path.teamId role_id: requestBody.role_id - text: Invite {identifier} to team {teamId} with role {role_id} and access to {associations}. slots: identifier: requestBody.identifier teamId: path.teamId role_id: requestBody.role_id associations: requestBody.associations method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/app-users/leave'].post update: x-apievangelist-phrasing: intent: Leave a team effect: destructive questions: - Can I remove myself from a team? - What's the way to leave a team I was invited to? instructions: - text: Leave team {teamId}. slots: teamId: path.teamId - text: Take me off team {teamId}. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/import-system'].post update: x-apievangelist-phrasing: intent: Import an existing NATS system into a team effect: write questions: - Can I bring an existing NATS deployment under management using its operator JWT? - What do I need to import a system I already run myself? instructions: - text: Import system {name} into team {teamId} using operator JWT {operator_jwt}. slots: name: requestBody.name teamId: path.teamId operator_jwt: requestBody.operator_jwt - text: Import an existing NATS system into team {teamId}. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/info/app-users'].get update: x-apievangelist-phrasing: intent: List basic info for a team's members effect: read questions: - Can any team member see basic info about the other members? - Where do I get names of teammates without admin rights? instructions: - text: List member info for team {teamId}. slots: teamId: path.teamId - text: Show basic info for the app users in team {teamId}. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/service-accounts'].get update: x-apievangelist-phrasing: intent: List a team's service accounts effect: read questions: - Which service accounts exist on my team? - Can I see the non-human accounts used for automation on a team? instructions: - text: List service accounts for team {teamId}. slots: teamId: path.teamId - text: Show team {teamId}'s service accounts. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/service-accounts'].post update: x-apievangelist-phrasing: intent: Create a team service account effect: write questions: - How do I create a service account for CI automation? - Can I limit a new service account to certain resources and a role? instructions: - text: Create service account {name} on team {teamId} with role {role_id} for {resources}. slots: name: requestBody.name teamId: path.teamId role_id: requestBody.role_id resources: requestBody.resources - text: Add a service account named {name} to team {teamId}. slots: name: requestBody.name teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/systems'].get update: x-apievangelist-phrasing: intent: List a team's systems effect: read questions: - Which NATS systems does my team manage? - Can I list all systems in a team? instructions: - text: List the systems in team {teamId}. slots: teamId: path.teamId - text: Show every system team {teamId} owns. slots: teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/systems'].post update: x-apievangelist-phrasing: intent: Create a new system effect: write questions: - How do I register a new NATS system with a server URL? - Can I enable JetStream when creating a system? instructions: - text: Create system {name} in team {teamId} connecting to {url}. slots: name: requestBody.name teamId: path.teamId url: requestBody.url - text: Set up a new JetStream-enabled system {name} at {url} for team {teamId}. slots: name: requestBody.name url: requestBody.url teamId: path.teamId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/teams/{teamId}/team-limits'].get update: x-apievangelist-phrasing: intent: Get a team's total and allocated limits effect: read questions: - How much of my team's quota is already allocated? - What are my team's limits? instructions: - text: Show the limits for team {teamId}. slots: teamId: path.teamId - text: Show how much capacity team {teamId} has left. slots: teamId: path.teamId method: generated generated: '2026-10-01'