# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Service Account API version: 1.0.0 extends: openapi/harness-service-account-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: 8 - target: $.paths['/ng/api/serviceaccount'].get update: x-apievangelist-phrasing: intent: List service accounts effect: read questions: - Which service accounts exist in my account, org or project? - Can I fetch a specific set of service accounts by their identifiers? instructions: - text: List service accounts in project {project}. slots: project: query.projectIdentifier - text: Get the service accounts with identifiers {ids}. slots: ids: query.identifiers method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount'].post update: x-apievangelist-phrasing: intent: Create a service account effect: write questions: - How do I create a service account for automation? - What details are required to set up a new service account? instructions: - text: Create service account {name} with identifier {identifier} and email {email}. slots: name: requestBody.name identifier: requestBody.identifier email: requestBody.email - text: Add a service account {name} in org {org} described as {description}. slots: name: requestBody.name org: requestBody.orgIdentifier description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount/{identifier}'].put update: x-apievangelist-phrasing: intent: Update a service account effect: write questions: - Can I rename a service account or change its email? - How do I update the tags on an existing service account? instructions: - text: Rename service account {sa} to {name}. slots: sa: path.identifier name: requestBody.name - text: Change the email of service account {sa} to {email}. slots: sa: path.identifier email: requestBody.email method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete a service account effect: destructive questions: - How do I remove a service account that's no longer used? - Can I delete a service account at project scope? instructions: - text: Delete service account {sa}. slots: sa: path.identifier - text: Remove service account {sa} from project {project}. slots: sa: path.identifier project: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount/aggregate/{identifier}'].get update: x-apievangelist-phrasing: intent: Get a service account with its roles effect: read questions: - What roles and details does a single service account have in this scope? - Can I see the aggregated view of one service account? instructions: - text: Get the aggregated details of service account {sa}. slots: sa: path.identifier - text: Show service account {sa} with its role assignments in org {org}. slots: sa: path.identifier org: query.orgIdentifier method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount/{identifier}/scopes'].get update: x-apievangelist-phrasing: intent: List child scopes inheriting a service account effect: read questions: - Which orgs and projects inherit a given service account? - Where is an account-level service account used in child scopes? instructions: - text: List the child scopes inheriting service account {sa}. slots: sa: path.identifier - text: Show which projects inherit service account {sa}. slots: sa: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount/aggregate'].get update: x-apievangelist-phrasing: intent: List service accounts with role details effect: read questions: - Can I list service accounts together with their role bindings? - How do I search service accounts and see their aggregated details? instructions: - text: List aggregated service accounts matching {term}. slots: term: query.searchTerm - text: Show page {page} of aggregated service accounts in project {project}. slots: page: query.pageIndex project: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/ng/api/serviceaccount/manageable'].get update: x-apievangelist-phrasing: intent: List service accounts I can manage keys for effect: read questions: - Which service accounts am I allowed to manage API keys on? - Can I search only the service accounts where I have manage API key permission? instructions: - text: List service accounts where I can manage API keys. - text: Find manageable service accounts matching {term}. slots: term: query.searchTerm method: generated generated: '2026-09-26'