Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Service Account API

9 actions 9 updates phrasing extends openapi/harness-service-account-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 9

$.info
$.paths['/ng/api/serviceaccount'].get
$.paths['/ng/api/serviceaccount'].post
$.paths['/ng/api/serviceaccount/{identifier}'].put
$.paths['/ng/api/serviceaccount/{identifier}'].delete
$.paths['/ng/api/serviceaccount/aggregate/{identifier}'].get
$.paths['/ng/api/serviceaccount/{identifier}/scopes'].get
$.paths['/ng/api/serviceaccount/aggregate'].get
$.paths['/ng/api/serviceaccount/manageable'].get

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 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'