Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Roles API

6 actions 6 updates phrasing extends openapi/harness-roles-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Harness's API. It is a proposal applied on top of the contract, not a document Harness publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/authz/api/roles'].get
$.paths['/authz/api/roles'].post
$.paths['/authz/api/roles/{identifier}'].get
$.paths['/authz/api/roles/{identifier}'].put
$.paths['/authz/api/roles/{identifier}'].delete

OpenAPI Overlay

Raw ↑
# 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'