Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Environments API

16 actions 16 updates phrasing extends openapi/harness-environments-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 16

$.info
$.paths['/ng/api/environmentsV2/check-allowed-values'].post
$.paths['/ng/api/environmentsV2'].get
$.paths['/ng/api/environmentsV2'].put
$.paths['/ng/api/environmentsV2'].post
$.paths['/ng/api/environmentsV2/batch'].post
$.paths['/ng/api/environmentsV2/{environmentIdentifier}'].get
$.paths['/ng/api/environmentsV2/{environmentIdentifier}'].delete
$.paths['/ng/api/environmentsV2/serviceOverrides'].get
$.paths['/ng/api/environmentsV2/serviceOverrides'].post
$.paths['/ng/api/environmentsV2/serviceOverrides'].delete
$.paths['/ng/api/environmentsV2/import'].post
$.paths['/ng/api/environmentsV2/list/access'].get
$.paths['/ng/api/environmentsV2/move-config/{environmentIdentifier}'].post
$.paths['/ng/api/environmentsV2/{environmentIdentifier}/update-git-metadata'].put
$.paths['/ng/api/environmentsV2/upsert'].put

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 Environments API
  version: 1.0.0
extends: openapi/harness-environments-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: 15
- target: $.paths['/ng/api/environmentsV2/check-allowed-values'].post
  update:
    x-apievangelist-phrasing:
      intent: Check allowed-values usage in environments
      effect: read
      questions:
      - Do any of my Harness environments use allowed-values restrictions on their variables?
      - Can I scan environments for allowed-values expressions in one call?
      instructions:
      - text: Check the environments in account {account} for allowed-values usage.
        slots:
          account: query.accountIdentifier
      - text: Scan my environments for allowed-values restrictions.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2'].get
  update:
    x-apievangelist-phrasing:
      intent: List environments in a project
      effect: read
      questions:
      - Which deployment environments are defined in my Harness project?
      - Can I search a project's environments by name or filter to specific identifiers?
      instructions:
      - text: List the environments in project {project}.
        slots:
          project: query.projectIdentifier
      - text: Search environments in project {project} for {searchTerm}.
        slots:
          project: query.projectIdentifier
          searchTerm: query.searchTerm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing environment
      effect: write
      questions:
      - How do I rename or re-describe an environment that already exists?
      - Can I switch an existing environment between production and pre-production?
      instructions:
      - text: Update environment {identifier} to type {type} with name {name}.
        slots:
          identifier: requestBody.identifier
          type: requestBody.type
          name: requestBody.name
      - text: Replace existing environment {identifier}'s YAML with {yaml}.
        slots:
          identifier: requestBody.identifier
          yaml: requestBody.yaml
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new environment
      effect: write
      questions:
      - How do I add a new production or pre-production environment in Harness?
      - Can I give a brand-new environment tags and a color when creating it?
      instructions:
      - text: Create a new {type} environment named {name} in project {project}.
        slots:
          type: requestBody.type
          name: requestBody.name
          project: requestBody.projectIdentifier
      - text: Create environment {identifier} of type {type} with description {description}.
        slots:
          identifier: requestBody.identifier
          type: requestBody.type
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Create many environments in one batch
      effect: write
      questions:
      - Can I create several environments at once and keep the ones that succeed?
      - What happens in a batch environment create if some entries fail?
      instructions:
      - text: Batch-create environments in account {account} with partial success allowed.
        slots:
          account: query.accountIdentifier
      - text: Create a batch of environments at once.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/{environmentIdentifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one environment by identifier
      effect: read
      questions:
      - What is the configuration of a specific environment?
      - Can I still retrieve an environment that has been deleted?
      instructions:
      - text: Get environment {environment}.
        slots:
          environment: path.environmentIdentifier
      - text: Show environment {environment} in project {project}.
        slots:
          environment: path.environmentIdentifier
          project: query.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/{environmentIdentifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an environment
      effect: destructive
      questions:
      - How do I delete an environment I no longer deploy to?
      - Can I force-delete an environment that is still referenced elsewhere?
      instructions:
      - text: Delete environment {environment}.
        slots:
          environment: path.environmentIdentifier
      - text: Delete environment {environment} with force delete {forceDelete}.
        slots:
          environment: path.environmentIdentifier
          forceDelete: query.forceDelete
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/serviceOverrides'].get
  update:
    x-apievangelist-phrasing:
      intent: List service overrides for an environment
      effect: read
      questions:
      - Which service overrides are configured on a given environment?
      - Can I see only the overrides for one service in an environment?
      instructions:
      - text: List service overrides on environment {environment}.
        slots:
          environment: query.environmentIdentifier
      - text: Show overrides for service {service} in environment {environment}.
        slots:
          service: query.serviceIdentifier
          environment: query.environmentIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/serviceOverrides'].post
  update:
    x-apievangelist-phrasing:
      intent: Create or update a service override
      effect: write
      questions:
      - How do I override a service's variables or manifests for one environment?
      - Can I create a service override or replace the existing one in a single call?
      instructions:
      - text: Set the override for service {service} in environment {environment} to {yaml}.
        slots:
          service: requestBody.serviceIdentifier
          environment: requestBody.environmentIdentifier
          yaml: requestBody.yaml
      - text: Upsert a service override for {service} on environment {environment}.
        slots:
          service: requestBody.serviceIdentifier
          environment: requestBody.environmentIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/serviceOverrides'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a service override
      effect: destructive
      questions:
      - How do I remove a service override so the environment uses service defaults?
      - Can I delete the override for just one service in an environment?
      instructions:
      - text: Delete the override for service {service} in environment {environment}.
        slots:
          service: query.serviceIdentifier
          environment: query.environmentIdentifier
      - text: Remove service {service}'s override from environment {environment}.
        slots:
          service: query.serviceIdentifier
          environment: query.environmentIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/import'].post
  update:
    x-apievangelist-phrasing:
      intent: Import an environment from a Git repository
      effect: write
      questions:
      - Can I create an environment from a YAML file already stored in Git?
      - Is it possible to force-import an environment definition from a repo branch?
      instructions:
      - text: Import an environment from {filePath} on branch {branch} of repo {repoName}.
        slots:
          filePath: query.filePath
          branch: query.branch
          repoName: query.repoName
      - text: Import environment {environment} from repo {repoName}, branch {branch}, file {filePath} via connector {connectorRef}.
        slots:
          environment: query.environmentIdentifier
          repoName: query.repoName
          branch: query.branch
          filePath: query.filePath
          connectorRef: query.connectorRef
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/list/access'].get
  update:
    x-apievangelist-phrasing:
      intent: List environments I have access to
      effect: read
      questions:
      - Which environments am I allowed to access in this project?
      - Can I list accessible environments inside one environment group?
      instructions:
      - text: List the environments I can access in project {project}.
        slots:
          project: query.projectIdentifier
      - text: Show accessible environments in environment group {envGroup}.
        slots:
          envGroup: query.envGroupIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/move-config/{environmentIdentifier}'].post
  update:
    x-apievangelist-phrasing:
      intent: Move an environment's YAML into Git
      effect: write
      questions:
      - How do I move an inline environment definition into a Git repository?
      - Can I commit a moved environment YAML to a new branch?
      instructions:
      - text: Move environment {environment} config using move type {moveConfigType}.
        slots:
          environment: path.environmentIdentifier
          moveConfigType: query.moveConfigType
      - text: Move environment {environment} to {filePath} in repo {repoName} on branch {branch} with move type {moveConfigType}.
        slots:
          environment: path.environmentIdentifier
          filePath: query.filePath
          repoName: query.repoName
          branch: query.branch
          moveConfigType: query.moveConfigType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/{environmentIdentifier}/update-git-metadata'].put
  update:
    x-apievangelist-phrasing:
      intent: Update Git metadata on a remote environment
      effect: write
      questions:
      - How do I point a remote environment at a different Git file path or repo?
      - Can I change the connector used by a Git-stored environment?
      instructions:
      - text: Update environment {environment}'s Git file path to {filePath}.
        slots:
          environment: path.environmentIdentifier
          filePath: query.filePath
      - text: Point remote environment {environment} at repo {repoName} via connector {connectorRef}.
        slots:
          environment: path.environmentIdentifier
          repoName: query.repoName
          connectorRef: query.connectorRef
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/environmentsV2/upsert'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or update an environment in one call
      effect: write
      questions:
      - Can I create an environment if it doesn't exist and update it if it does?
      - Is there an idempotent way to save an environment definition?
      instructions:
      - text: Upsert environment {identifier} as type {type}.
        slots:
          identifier: requestBody.identifier
          type: requestBody.type
      - text: Create or update environment {identifier} from YAML {yaml}.
        slots:
          identifier: requestBody.identifier
          yaml: requestBody.yaml
      method: generated
      generated: '2026-09-26'