# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Roles API version: 1.0.0 extends: openapi/harness-roles-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: 5 - target: $.paths['/authz/api/roles'].get update: x-apievangelist-phrasing: intent: List roles in a scope effect: read questions: - What roles exist in my Harness project? - Can I list only Harness-managed roles, or only custom ones? instructions: - text: List roles in project {projectIdentifier}. slots: projectIdentifier: query.projectIdentifier - text: Show roles where harnessManaged is {harnessManaged}. slots: harnessManaged: query.harnessManaged - text: Search roles for {searchTerm}. slots: searchTerm: query.searchTerm method: generated generated: '2026-09-26' - target: $.paths['/authz/api/roles'].post update: x-apievangelist-phrasing: intent: Create a custom role effect: write questions: - How do I create a custom role with specific permissions? - Can a custom role be limited to certain scope levels? instructions: - text: Create a custom role {name} with id {identifier} and permissions {permissions}. slots: name: requestBody.name identifier: requestBody.identifier permissions: requestBody.permissions - text: Add role {identifier} named {name} in org {orgIdentifier}. slots: identifier: requestBody.identifier name: requestBody.name orgIdentifier: query.orgIdentifier method: generated generated: '2026-09-26' - target: $.paths['/authz/api/roles/{identifier}'].get update: x-apievangelist-phrasing: intent: Get a role and its permissions effect: read questions: - Which permissions does a particular role grant? - Can I look up one role by identifier? instructions: - text: Show role {identifier}. slots: identifier: path.identifier - text: Get the permissions in role {identifier} for project {projectIdentifier}. slots: identifier: path.identifier projectIdentifier: query.projectIdentifier method: generated generated: '2026-09-26' - target: $.paths['/authz/api/roles/{identifier}'].put update: x-apievangelist-phrasing: intent: Update a custom role effect: write questions: - How do I add or remove permissions on a custom role? - Can Harness-managed roles be edited, or only custom ones? instructions: - text: Set role {identifier}'s permissions to {permissions}, keeping name {name}. slots: identifier: path.identifier permissions: requestBody.permissions name: requestBody.name - text: Rename custom role {identifier} to {name}. slots: identifier: path.identifier name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/authz/api/roles/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete a custom role effect: destructive questions: - How do I delete a custom role? - Can I remove a custom role from just one org? instructions: - text: Delete custom role {identifier}. slots: identifier: path.identifier - text: Remove role {identifier} from org {orgIdentifier}. slots: identifier: path.identifier orgIdentifier: query.orgIdentifier method: generated generated: '2026-09-26'