Harness · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Harness Variables API

13 actions 13 updates phrasing extends openapi/harness-variables-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 13

$.info
$.paths['/ng/api/variables'].get
$.paths['/ng/api/variables'].put
$.paths['/ng/api/variables'].post
$.paths['/ng/api/variables/{identifier}'].get
$.paths['/ng/api/variables/{identifier}'].delete
$.paths['/ng/api/variables/list'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables'].post
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].get
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].put
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].delete
$.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/merged'].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 Variables API
  version: 1.0.0
extends: openapi/harness-variables-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: 12
- target: $.paths['/ng/api/variables'].get
  update:
    x-apievangelist-phrasing:
      intent: List platform variables in a scope
      effect: read
      questions:
      - What account, org or project variables have we defined in Harness?
      - Can I include variables from every sub-scope when listing them?
      instructions:
      - text: List the platform variables in project {projectIdentifier}.
        slots:
          projectIdentifier: query.projectIdentifier
      - text: Search platform variables for {searchTerm}, including those from every sub-scope.
        slots:
          searchTerm: query.searchTerm
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/variables'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a platform variable
      effect: write
      questions:
      - How do I change the value of an existing platform variable?
      - Can I edit a variable's type or description after it's created?
      instructions:
      - text: 'Update the platform variable with these details: {variable}.'
        slots:
          variable: requestBody.variable
      - text: Save the edited platform variable definition {variable}.
        slots:
          variable: requestBody.variable
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/variables'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a platform variable
      effect: write
      questions:
      - Can I define a reusable variable at the account or project level?
      - What goes into creating a new platform variable?
      instructions:
      - text: 'Create a new platform variable: {variable}.'
        slots:
          variable: requestBody.variable
      - text: Add platform variable {variable} so pipelines can reference it.
        slots:
          variable: requestBody.variable
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/variables/{identifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a platform variable by identifier
      effect: read
      questions:
      - Where can I look up one platform variable's value and type?
      - Which scope does a given platform variable live in?
      instructions:
      - text: Get the platform variable {identifier}.
        slots:
          identifier: path.identifier
      - text: Show variable {identifier} in project {projectIdentifier}.
        slots:
          identifier: path.identifier
          projectIdentifier: query.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/variables/{identifier}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a platform variable
      effect: destructive
      questions:
      - Is it possible to delete a platform variable we no longer use?
      - What happens to a scoped variable when I remove it?
      instructions:
      - text: Delete the platform variable {identifier}.
        slots:
          identifier: path.identifier
      - text: Remove variable {identifier} from org {orgIdentifier}.
        slots:
          identifier: path.identifier
          orgIdentifier: query.orgIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/ng/api/variables/list'].post
  update:
    x-apievangelist-phrasing:
      intent: Fetch several platform variables by identifier
      effect: read
      questions:
      - Can I look up a specific set of platform variables in one call by their identifiers?
      - Which of these named variables exist in my project?
      instructions:
      - text: Fetch the platform variables with identifiers {identifiers}.
        slots:
          identifiers: requestBody.identifiers
      - text: Get variables {identifiers} from project {projectIdentifier}.
        slots:
          identifiers: requestBody.identifiers
          projectIdentifier: query.projectIdentifier
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables'].get
  update:
    x-apievangelist-phrasing:
      intent: List variables on an IaC workspace
      effect: read
      questions:
      - What Terraform and environment variables are set on an infrastructure workspace?
      - Which variables does my IaCM workspace pass to its runs?
      instructions:
      - text: List the variables on workspace {workspace} in project {project} of org {org}.
        slots:
          workspace: path.workspace
          project: path.project
          org: path.org
      - text: Show workspace {workspace}'s variables under {org}/{project}.
        slots:
          workspace: path.workspace
          org: path.org
          project: path.project
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a variable to an IaC workspace
      effect: write
      questions:
      - How do I add a Terraform variable to an infrastructure workspace?
      - Can a workspace variable be an environment variable instead of a Terraform input?
      instructions:
      - text: Add {kind} variable {key} = {value} of type {value_type} to workspace {workspace} in {org}/{project}.
        slots:
          kind: requestBody.kind
          key: requestBody.key
          value: requestBody.value
          value_type: requestBody.value_type
          workspace: path.workspace
          org: path.org
          project: path.project
      - text: Create workspace variable {key} with value {value} ({value_type}, {kind}) on {workspace}.
        slots:
          key: requestBody.key
          value: requestBody.value
          value_type: requestBody.value_type
          kind: requestBody.kind
          workspace: path.workspace
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].get
  update:
    x-apievangelist-phrasing:
      intent: Show one IaC workspace variable
      effect: read
      questions:
      - What value is a particular variable set to on my workspace?
      - Is this workspace variable a secret or plain text?
      instructions:
      - text: Show the {kind} variable {key} on workspace {workspace} in {org}/{project}.
        slots:
          kind: path.kind
          key: path.key
          workspace: path.workspace
          org: path.org
          project: path.project
      - text: Get workspace {workspace}'s {kind} variable named {key}.
        slots:
          workspace: path.workspace
          kind: path.kind
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change an IaC workspace variable's value
      effect: write
      questions:
      - How can I change a variable's value on an existing infrastructure workspace?
      - Can I switch a workspace variable from plain text to secret?
      instructions:
      - text: Set {kind} variable {key} on workspace {workspace} in {org}/{project} to {value} as {value_type}.
        slots:
          kind: path.kind
          key: path.key
          workspace: path.workspace
          org: path.org
          project: path.project
          value: requestBody.value
          value_type: requestBody.value_type
      - text: Update workspace {workspace} {kind} variable {key} to value {value}.
        slots:
          workspace: path.workspace
          kind: path.kind
          key: path.key
          value: requestBody.value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/{kind}/{key}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a variable from an IaC workspace
      effect: destructive
      questions:
      - Can I remove a variable from an infrastructure workspace?
      - Will deleting a workspace variable affect the next plan or apply?
      instructions:
      - text: Delete the {kind} variable {key} from workspace {workspace} in {org}/{project}.
        slots:
          kind: path.kind
          key: path.key
          workspace: path.workspace
          org: path.org
          project: path.project
      - text: Remove variable {key} ({kind}) from workspace {workspace}.
        slots:
          key: path.key
          kind: path.kind
          workspace: path.workspace
      method: generated
      generated: '2026-09-26'
- target: $.paths['/iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/variables/merged'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a workspace's merged variables and connectors
      effect: read
      questions:
      - What is the full effective set of variables, variable files and provider connectors on a workspace?
      - Which provider connectors and var files does my workspace run with?
      instructions:
      - text: Show the merged variables, provider connectors and variable files for workspace {workspace} in {org}/{project}.
        slots:
          workspace: path.workspace
          org: path.org
          project: path.project
      - text: 'Give me everything workspace {workspace} will run with: variables, var files and connectors.'
        slots:
          workspace: path.workspace
      method: generated
      generated: '2026-09-26'