# 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 App Service Account API version: 1.0.0 extends: openapi/synadia-communications-app-service-account-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: 5 - target: $.paths['/core/beta/service-accounts/app/{serviceAccountId}'].get update: x-apievangelist-phrasing: intent: Look up an app service account effect: read questions: - How do I see the role and resources of one service account? - What does a given app service account have access to? instructions: - text: Show app service account {sa}. slots: sa: path.serviceAccountId - text: Get details for service account {sa}. slots: sa: path.serviceAccountId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/service-accounts/app/{serviceAccountId}'].delete update: x-apievangelist-phrasing: intent: Delete an app service account effect: destructive questions: - Can I delete a service account that automation no longer uses? - How do I remove an app service account? instructions: - text: Delete app service account {sa}. slots: sa: path.serviceAccountId - text: Remove service account {sa}. slots: sa: path.serviceAccountId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/service-accounts/app/{serviceAccountId}'].patch update: x-apievangelist-phrasing: intent: Update an app service account effect: write questions: - How do I change a service account's role? - Can I rename a service account or change the resources it covers? instructions: - text: Change service account {sa}'s role to {role}. slots: sa: path.serviceAccountId role: requestBody.role_id - text: Rename service account {sa} to {name}. slots: sa: path.serviceAccountId name: requestBody.name - text: Scope service account {sa} to resources {resources}. slots: sa: path.serviceAccountId resources: requestBody.resources method: generated generated: '2026-10-01' - target: $.paths['/core/beta/service-accounts/app/{serviceAccountId}/tokens'].get update: x-apievangelist-phrasing: intent: List a service account's access tokens effect: read questions: - Which access tokens have been issued for a service account? - Where can I review the tokens belonging to one app service account? instructions: - text: List the access tokens for service account {sa}. slots: sa: path.serviceAccountId - text: Show all tokens issued to service account {sa}. slots: sa: path.serviceAccountId method: generated generated: '2026-10-01' - target: $.paths['/core/beta/service-accounts/app/{serviceAccountId}/tokens'].post update: x-apievangelist-phrasing: intent: Issue an access token for a service account effect: write questions: - How do I mint an API token for a service account? - Can a service account token be set to never expire? instructions: - text: Create a token named {name} for service account {sa}. slots: sa: path.serviceAccountId name: requestBody.name - text: Issue token {name} for service account {sa} expiring {expires}. slots: sa: path.serviceAccountId name: requestBody.name expires: requestBody.expires method: generated generated: '2026-10-01'